我正在尝试发布到看起来像这样的网址: “http://domain.com/api/?application_id=user&format=json&session_token=1824dsf1u312asd14”
我使用上面作为我的请求URL并将我的数据写入流中,如下所示:
byte[] ByteQuery = Encoding.UTF8.GetBytes(post_body);
httpWebRequest.ContentLength = ByteQuery.Length;
Stream QueryStream = httpWebRequest.GetRequestStream();
QueryStream.Write(ByteQuery, 0, ByteQuery.Length);
QueryStream.Close();
这一切都很好,网页获取帖子数据没问题。问题是它返回如下错误:
{“stat”:“fail”,“diagnostics”:“0 2.6 25.22”,“error”:{“code”:6,“message”:“method(usermgmt.add)无法将application_id更改为(user) )当设置为(null-app)时,在同一请求中。“}}
所以我的问题是,如何处理向此页面发送帖子数据?必须设置application_id才能达到我想要的效果。我也试过通过RequestStream发送它无济于事。
我的帖子数据字符串如下所示:
方法= usermgmt.add&安培; uid_to_add = 5452007164&安培; api_signature =安培;跟踪= H40alhZWzp
我想要复制的请求: http://pastebin.com/c38Cq3AR
答案 0 :(得分:0)
试试这个:
using System.IO;
using System.Net;
using System.Text;
using System.Collections.Specialized;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var values = new NameValueCollection();
values.Add("method", "usermgmt.add");
values.Add("uid_to_add", "5452007164");
values.Add("api_signature", "");
values.Add("track", "H40alhZWzp");
var wc = new WebClient();
wc.Headers.Add(HttpRequestHeader.Cookie, "a=b&c=d");
wc.Headers.Add(HttpRequestHeader.Referer, "http://www.tagged.com/meetme.html");
var returnBytes = wc.UploadValues("http://domain.com/api/?application_id=user&format=json&session_token=1824dsf1u312asd14", values);
var returnJson = Encoding.UTF8.GetString(returnBytes);
}
}
}
你还能得到同样的答案吗?
编辑:可能这里的cookie和/或推荐人数量?如果是这样,我已将它们添加到代码中......