Visual C#make web request就像python一样

时间:2015-08-25 21:38:27

标签: c# python http httpwebrequest

我有一小段python代码,可以使用Results进行网络请求,如下所示

urllib2

当我在C#中尝试这样做时,我遇到了以下问题

  • 如何发送import json import urllib2 urlRequest = urllib2.Request('<link>') urlRequest.add_header('Content-Type', 'application/json') urlRequest.add_header('RegistrationToken', '<token>') data = { 'content': '<c>', 'messagetype': 'RichText', 'contenttype': 'text', 'id': '<id>' } urllib2.urlopen(urlRequest, json.dumps(data))
  • 如何添加标题?

谷歌搜索了一段时间后我设法编写了这段代码:

data

我成功处理了标题部分,但var request = (HttpWebRequest)WebRequest.Create(url_input.Text); request.ContentType = "application/json"; request.Headers["RegistrationToken"] = rtoken_input.Text; request.GetResponse(); 上的问题仍然存在。还有什么是json编码的最佳方法?

任何知道该怎么做的人?

1 个答案:

答案 0 :(得分:0)

如果您在将POST数据序列化为JSON有效负载后,则几乎没有选项。

1)System.Web.Helpers.Json.Encode MSDN Link

2)使用JSON.NET库Link

至于你将python转换为C#的尝试,你是在正确的轨道上。 请参阅this link

或者,您可以使用WebClient类MSDN Link 请参阅this link

伪代码

var client = new WebClient();
client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("RegistrationToken", "<token>");
string response = client.UploadString("<link>", "<json string>");