请求给出以下错误:远程服务器返回错误:(400) Bad Request。
我在网上找不到解决办法。有人知道如何解决这个问题吗?
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"https://maps.googleapis.com/maps/api/geocode/json");
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
var parameters = string.Format("language={0}&latlng={1}&client={2}&signature={3}", "nl", "51.123456,5.612345", "gme-aa", "******_******=");
byte[] byteArray = Encoding.UTF8.GetBytes(parameters);
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
/*
* Read HttpWeb Response
*/
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string Response = reader.ReadToEnd();
response.Close();编辑:
我在Lowcode platform Outsystems内部工作。Outsystems在WebRequest.Create()中创建不带参数的url。因此,我可以访问webRequest对象,并且需要传递参数。
发布于 2017-03-08 22:15:39
你必须使用HTTP的方法。
在GET请求中,将参数作为查询字符串的一部分进行传递。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create($"https://maps.googleapis.com/maps/api/geocode/json?language=fr&latlng=51.123456,5.612345&key={apiKey}");
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "GET";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
string result = new StreamReader(response.GetResponseStream()).ReadToEnd();
}发布于 2017-03-15 18:05:39
根据documentation,该应用程序接口需要POST方法并接收URL中的参数,而不是主体中的参数。
如果您使用的是OutSystems平台,则可以使用使用REST API功能来轻松地调用web服务,而无需使用代码。如下配置您的API (您可以从上面的文档页面复制示例JSON ):

https://stackoverflow.com/questions/42672915
复制相似问题