Asp.net 谷歌url缩短api密钥是否只能在一台计算机上工作?
我正在使用ASP.NET网站上的Google URL缩短器。它起作用了 我的本地主机很好,但是在测试服务器上我得到了以下信息 错误: 我使用的是这里显示的确切代码:Asp.net 谷歌url缩短api密钥是否只能在一台计算机上工作?,asp.net,url-shortener,google-url-shortener,Asp.net,Url Shortener,Google Url Shortener,我正在使用ASP.NET网站上的Google URL缩短器。它起作用了 我的本地主机很好,但是在测试服务器上我得到了以下信息 错误: 我使用的是这里显示的确切代码: 难道钥匙只能在我的本地计算机上工作,而不能在任何其他计算机上工作?我已经获得了另一个密钥(使用另一个Google帐户),但这一个在我的本地计算机和测试服务器上都给了我相同的错误(403)。我非常怀疑API是否链接到特定的PC。你需要检查你的程序发出的请求(URL和标题),它们一定在某种程度上有所不同。您的服务器是否支持某种代理,例
难道钥匙只能在我的本地计算机上工作,而不能在任何其他计算机上工作?我已经获得了另一个密钥(使用另一个Google帐户),但这一个在我的本地计算机和测试服务器上都给了我相同的错误(403)。我非常怀疑API是否链接到特定的PC。你需要检查你的程序发出的请求(URL和标题),它们一定在某种程度上有所不同。您的服务器是否支持某种代理,例如Apache?如果配置不正确,这也可能会破坏请求。还要确保您的请求编码正确。根据a,我做了一些修改,并更改了以下代码行: 首先,而不是:
string post = "{\"longUrl\": \"" + url + "\"}";
我用过:
string post = string.Format(@"{{""longUrl"": ""{0}""}}", url );
第二,我注释掉了这两行:
request.ServicePoint.Expect100Continue = false;
request.Headers.Add("Cache-Control", "no-cache");
我不知道为什么,但突然它开始工作了。所以我想看看我做的3件事中的哪一件出了问题,所以我把每一件都退回,而且——塔达——它仍然有效,即使3件都在那里!所以我真的不知道是什么导致了这个问题,但是由于代码在没有那两行注释的情况下工作,以及其他的修改,我就不这样做了
我希望这个答案会对某些人有所帮助…您在页面加载中是从codebehind调用这个的吗?你怎么称呼这个方法?@hsobhy这是5年前的问题。我不记得它的细节了。。。很抱歉
request.ServicePoint.Expect100Continue = false;
request.Headers.Add("Cache-Control", "no-cache");