json - 无法通过 VB.Net 从 API 获取数据
问题描述
我尝试从 API web 获取反向地理编码。但它发现错误 403 被禁止。
这是我的 VB.Net 代码(后端代码)
<HttpPost>
Public Function Location(ByVal DataJSON As Location) As JsonResult
Dim LocationValue As Location = New Location With {
.Lat = DataJSON.Lat,
.Lon = DataJSON.Lon
}
Dim getrequest As HttpWebRequest
Dim response As HttpWebResponse
Dim reader As StreamReader
getrequest = DirectCast(WebRequest.Create("http://nominatim.openstreetmap.org/reverse?format=json&lat=" & LocationValue.Lat & "&lon=" & LocationValue.Lon & "&zoom=18&addressdetails=1&extratags=1"), HttpWebRequest)
response = DirectCast(getrequest.GetResponse(), HttpWebResponse)
reader = New StreamReader(response.GetResponseStream())
Dim ReverseLocate As New Location
Dim rawData As String = reader.ReadToEnd()
Dim jResults As Object = New JavaScriptSerializer().Deserialize(Of Object)(rawData)
ReverseLocate.Place = jResults("address[0]")
Return Json(ReverseLocate, JsonRequestBehavior.AllowGet)
End Function
错误到达这里
reader = New StreamReader(response.GetResponseStream())
还有我的 AJAX 功能
var Locate = new Object(); <!-- GET Required Data -->
Locate.Lat = Lat;
Locate.Lon = Lon
$.ajax({
url: "/home/Location",
data: JSON.stringify(Locate),
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function () {
alert('error')
},
success: function (response) {
if (response.errorcode == 0) {
alert('ok')
}
}
})
谁能帮我解决这个问题?谢谢。
解决方案
推荐阅读
- java - 如何使用 for 循环创建数组并分配线性值?
- scala - Databricks Scala:如何从 sql 选择流式传输结果
- reactjs - 如何在 ReactJS 中返回 404 状态码?
- python - 绘制多个折线图时出错
- c++11 - 如何在 QGraphicsScene 上正确定位 QGraphicsTextItem
- python - 对 pandas 中的 2 列进行排序,保持 1 列固定
- python - 如何将 tiff 图像保存到新的 npy 文件中?
- python - Python >= 3.3 中命名空间包的相对位置和内容
- javascript - 再次触发时图像快速跳跃
- javascript - html和javascript中是否允许多个ID?