C#模拟xmlhttprequest并获取json响应

C#模拟xmlhttprequest并获取json响应,c#,ajax,json,xmlhttprequest,C#,Ajax,Json,Xmlhttprequest,如何模拟xmlhttprequest并获得json响应 答复如下: HTTP/1.1 200 OK Server: nginx/1.1.7 Date: Fri, 06 Jan 2012 10:50:36 GMT Content-Type: application/x-javascript; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding, Accept-Language,C

如何模拟xmlhttprequest并获得json响应

答复如下:

HTTP/1.1 200 OK
Server: nginx/1.1.7
Date: Fri, 06 Jan 2012 10:50:36 GMT
Content-Type: application/x-javascript; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding, Accept-Language,Cookie
Content-Language: ru
Content-Encoding: gzip
在此请求:

GET /community/accounts/?type=table&_=1325847040822&offset=0&limit=25&order_by=name&search=Danzanus&echo=2&id=accounts_index HTTP/1.1
Host: worldoftanks.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
X-Requested-With: XMLHttpRequest
X-CSRFToken: aec8c3f844e930e61e8a1b7f2a51b175
Referer: http://worldoftanks.ru/community/accounts/
Cookie: csrftoken=aec8c3f844e930e61e8a1b7f2a51b175; __utma=1.624357332.1325795055.1325812734.1325847014.4; __utmz=1.1325795055.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); csw_popup=true; csw_top=true; __utmb=1.1.10.1325847014; __utmc=1
网站是

获取带有参数的请求:

我需要得到搜索结果与链接到用户配置文件。Firebug(FF插件)显示以下答案:

{"request_data":{"items":[{"account_url":"/community/accounts/4213704-Danzanus/","abbreviation":"","exp":514111,"name":"Danzanus","clan_url":"","owner":null,"wins":816,"created_at":"2011-11-29","id":4213704,"battles":1626}],"total_count":0,"filtered_count":1,"offset":0,"echo":2},"result":"success"}
我只需要“帐户地址”

此代码返回200 OK,但答案为空:

 $.get("http://worldoftanks.ru/community/accounts", { type: "table", _: 1325811501451, offset: "0", limit: "25", order_by: "name", search: "Danzanus", echo: "3", id: "accounts_index" },
   function (data) {
       alert("Data Loaded: " + data);}

谢谢。

如果这是Web服务返回的响应,您可以解析XHR响应(例如,在jQuery onsuccess方法中,这是在Ajax调用之后调用的)并获取帐户url。 否则,如果您想重新创建响应客户端,您应该创建表示响应的JS对象,然后将其转换为JSON表示。然后可以从客户端脚本调用返回JSON的方法(在本例中为getMyObjAsJSON

这是一个样品

function getMyObj() {
var firstname = 'Michael'
var lastname = 'Jordan'    
return  { FirstName: firstname, LastName: lastname };}  

function getMyObjAsJSON(){
 var myObj = getMyObj();

    if (myObj == null) {
        alert("obj not created");
        return;
    }

    //it converts the object in its JSON rapresentetion
    var jsonObj = $.toJSON(myObj);
return jsonObj} 

如果这是webservice返回的响应,那么您只需解析XHR响应(例如,在jQuery onsuccess方法中,在Ajax调用之后调用该响应)并获取account\uURL。 否则,如果您想重新创建响应客户端,您应该创建表示响应的JS对象,然后将其转换为JSON表示。然后可以从客户端脚本调用返回JSON的方法(在本例中为getMyObjAsJSON

这是一个样品

function getMyObj() {
var firstname = 'Michael'
var lastname = 'Jordan'    
return  { FirstName: firstname, LastName: lastname };}  

function getMyObjAsJSON(){
 var myObj = getMyObj();

    if (myObj == null) {
        alert("obj not created");
        return;
    }

    //it converts the object in its JSON rapresentetion
    var jsonObj = $.toJSON(myObj);
return jsonObj} 

我知道,我可以使用正则表达式解析它,但问题是-如何使用此参数发出GET请求并获取响应:)您可以在不使用正则表达式的情况下将其解析为json对象!当ajax调用的success函数被触发时,您将返回一个JSON对象,而不是一个简单的字符串!因此,您将像items.account\u url一样访问它。如果你不知道该怎么打电话,这里有一个例子:(看页面底部)。除非您完全控制web服务的代码,否则无法指示web服务仅返回帐户url。看,我更新了主题。无法得到答案。。。dnt不知道我做错了吗?用完整的url(包含RequestString的url)替换$.get中的url,并删除数据参数。感谢帮助,我使用httpWebRequest创建了它。无法提交答案,需要等待8小时…我知道,我可以使用正则表达式解析它,但问题是-如何使用此参数发出GET请求并获取响应:)您可以在不使用正则表达式的情况下将其解析为json对象!当ajax调用的success函数被触发时,您将返回一个JSON对象,而不是一个简单的字符串!因此,您将像items.account\u url一样访问它。如果你不知道该怎么打电话,这里有一个例子:(看页面底部)。除非您完全控制web服务的代码,否则无法指示web服务仅返回帐户url。看,我更新了主题。无法得到答案。。。dnt不知道我做错了吗?用完整的url(包含RequestString的url)替换$.get中的url,并删除数据参数。感谢帮助,我使用httpWebRequest创建了它。无法提交答案,需要等待8小时。。。