我怎样才能做http://myanimelist.net/modules.php?go=api#verifycred
之类的事情又名“curl -u user:password http://myanimelist.net/api/account/verify_credentials.xml”
我希望选择id 到目前为止,我的代码是
string url = "http://myanimelist.net/api/account/verify_credentials.xml";
WebRequest request = WebRequest.Create(url);
request.ContentType = "xml";
request.Method = "GET";
request.Credentials = new NetworkCredential(username, password);
byte[] buffer = Encoding.GetEncoding("UTF-8").GetBytes("xml/user/id"); // i think this line?
Stream reqstr = request.GetRequestStream();
reqstr.Write(buffer, 0, buffer.Length);
reqstr.Close();
但我在“reqstr.Write(buffer, 0, buffer.Length)
”上收到错误
无法使用此动词类型发送内容正文,我已尝试谷歌搜索但没有占上风,我正在使用c#
答案 0 :(得分:2)
您的代码段正在尝试发送带有请求数据的GET
请求(您正在调用GetRequestStream
,然后将一些数据写入请求流)。 HTTP协议不允许这样做 - 您只能使用POST
请求发送数据。
但是,您尝试调用的API实际上是在做一些不同的事情 - 您不需要向它发送XML数据。 XML数据(包含用户ID和用户名)是您成功登录时获得的响应。
因此,您需要调用GetRequestStream
然后GetResponse
来读取,而不是调用GetResponseStream
和编写 XML数据> XML数据!