【发布时间】:2012-03-02 22:30:30
【问题描述】:
string requestPath = "http://host/user/register";
string RegJson = JsonConvert.SerializeObject(userProfile);
WebRequest request = WebRequest.Create(requestPath);
request.Headers.Add("UserID:"+ userID +";");
request.Headers.Add("Password:" + password + ";");
request.ContentType = "application/json; charset=utf-8";
request.Method = "POST";
在这里,我正在将用户配置文件转换为 json 并将其用于 webrequest 调用。注册和登录后,我需要在每个请求的标题中包含用户 ID 和密码。我不确定我是否在标题中正确传递了用户 ID 和密码。
它应该在标题中如下所示:
POST /MyURL/ HTTP/1.1
主机主机名
内容长度 396
来源 chrome-extension://cokgbflfommojglbmbpenpphppikmonn
用户 ID 12345
密码 98765abc
用户代理 Mozilla/5.0
AppleWebKit/535.11(KHTML,如 Gecko)Chrome/17.0.963.56 Safari/535.11
内容类型应用程序/json
接受/
接受编码 gzip,deflate,sdch
Accept-Language en-US,en;q=0。
我试过 request.Headers.Add("UserID:"+ userID_Value +";");
【问题讨论】:
-
你说的是基本的Http认证吗?
-
为什么每次请求都需要传递用户名和密码?需要更多有关您尝试做什么的背景知识,但根据经验,将这样的密码传递给非 ssl 连接是一个坏主意。
-
也许你只需要
request.Credentials = new NetworkCredential(username, password); -
request.Credentials 提出了错误的请求。我需要在 restful 服务中为所有请求添加用户 ID 和密码,因此它应该与请求一起出现在标题中
标签: c# asp.net asp.net-mvc-3 header http-headers