我目前正在通过编写一个C#应用程序来使用gravatar。
首先,我试着拍下我的头像照片。啊,真灵。
在此之后,我试图获得配置文件QR代码。啊,真灵。
现在,我要用json检索我的个人资料。我跟踪了网站的指示,我写了这样的话:
using (var web = new HttpClient())
{
using (var response = await web.GetAsync("http://www.gravatar.com/205e460b479e2e5b48aec07710c08d50"))
{
// ...每次我尝试,我都会得到一个错误403。但是,当我将url复制到我的web浏览器中时,或者如果我做了wget,它可以很好地返回预期的结果。
我也试过这样做,但我也犯了错误:
var request = WebRequest.Create("http://www.gravatar.com/205e460b479e2e5b48aec07710c08d50.json");
using (var response = request.GetResponse())
{
// ...有人知道我的做法有什么问题吗?
发布于 2015-02-14 22:35:55
在本例中,它不喜欢您没有传递用户代理HTTP头(我认为您不能作为WebRequest传递它,所以我们将它转换为HttpWebRequest):
var request = (HttpWebRequest)WebRequest.Create("http://www.gravatar.com/205e460b479e2e5b48aec07710c08d50.json");
request.UserAgent = "Whatever user agent you'd like to use here...";
using (var response = request.GetResponse())
{
// ...编辑:它可能会帮助您在未来使用Fiddler,以便您可以尝试复制您的浏览器的行为。
https://stackoverflow.com/questions/28520689
复制相似问题