【问题标题】:How to include UserID and Password in the http header?如何在 http 标头中包含 UserID 和 Password?
【发布时间】: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


【解决方案1】:

Web 请求中不需要分号,只需添加为字符串即可。

               request.Headers.Add("UserID", userID);            
               request.Headers.Add("Password", password);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-27
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多