如何在 http 标头中包含 UserID 和 Password?
Posted
技术标签:
【中文标题】如何在 http 标头中包含 UserID 和 Password?【英文标题】:How to include UserID and Password in the http header? 【发布时间】: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 和密码,因此它应该与请求一起出现在标题中
【参考方案1】:
Web 请求中不需要分号,只需添加为字符串即可。
request.Headers.Add("UserID", userID);
request.Headers.Add("Password", password);
【讨论】:
以上是关于如何在 http 标头中包含 UserID 和 Password?的主要内容,如果未能解决你的问题,请参考以下文章
在 HTTP 数据包(Cookie、标头或 JSON)中包含 JWT 令牌的正确方法