HttpWebRequest请求中如何进行域登录

  工作中遇到的请求在不同域中的地址时,请求无法成功的问题

  查了很多资料,基本上都是说的以下两点

  (1).HttpWebRequest request = new HttpWebRequest();

  request.UserDefaultCredentials = true;//默认使用登录的凭据

  (2).

  request.Credentials = new NetworkCredential("username","password");

  username,password 为域登录的账号

  上述两种均未能解决问题。

 

  后来发现NetworkCredential的构造函数具有5个重载

  一、public NetworkCredential();

  // 用指定的用户名和密码初始化 System.Net.NetworkCredential 类的新实例。
  二、public NetworkCredential(string userName, SecureString password);

  // 用指定的用户名和密码初始化 System.Net.NetworkCredential 类的新实例。
  三、public NetworkCredential(string userName, string password);
  
  // 用指定的用户名、密码和域初始化 System.Net.NetworkCredential 类的新实例。
  四、public NetworkCredential(string userName, SecureString password, string domain);

  // 用指定的用户名、密码和域初始化 System.Net.NetworkCredential 类的新实例。
  五、public NetworkCredential(string userName, string password, string domain);

 

  因为未使用加密方法,第5个重载中有参数domain,即为登录的域名,使用,问题解决。

 

  request.Credentials = new NetworkCredential("username","password","domain");

转载于:https://www.cnblogs.com/Big-Bao/p/4115164.html

### 回答1: HttpWebRequest是一个.NET Framework的类,用于向Web服务器发送HTTP请求请求正文是指在HTTP请求发送的数据,通常是POST请求的表单数据或JSON数据等。可以使用HttpWebRequest的GetRequestStream方法获取请求正文流,然后将数据写入流发送到服务器。在接收服务器响应时,可以使用HttpWebRequest的GetResponse方法获取响应流,然后从流读取响应正文。 ### 回答2: HttpWebRequest请求是通过发送HTTP协议包的形式与WebServer进行通信,用于向Web服务器发送请求并获取响应。请求正文是HttpWebRequest请求的一部分,负责传递与请求相关的数据。对于一些Web应用场景,经常需要使用请求正文来进行数据的传输,例如上传文件、提交表单数据等。 请求正文的构造主要有两种方式:表单方式和流方式。表单方式主要用于发送数据量较小的请求,可以直接通过HttpWebRequest的GetRequestStream()方法获取请求流,然后将表单数据转换为字节数组写入请求即可。在请求表单我们经常使用键值对的形式传递数据。 每个请求必须有一个有效的Content-Length头,它指定请求body的字节数(除了multipart/form-data,你也可以这样expression,因为它有multipart的请求边界). 所以在表单必须要指定Content-Length. 因为Web服务器会根据Content-Length来判断请求是否已经完整接收到,并在已接收到完整请求之后才会开始处理请求,并返回相应的响应数据,否则请求将被认为是不完整的并被拒绝。 流方式则主要用于发送数据量较大的请求,例如文件上传和下载。在流方式的请求,需要获取HttpWebRequest的GetRequestStream()方法返回的请求流,然后将上传文件的字节流写入请求,实际上这个操作也是以字节数组的形式将数据写入请求,只不过字节数组的内容从表单数据转换为文件字节流。 总之,请求正文在HttpWebRequest请求起着至关重要的作用,负责传输数据和携带相关的参数信息,我们在进行HttpWebRequest开发时,可以根据具体的应用场景选择合适的构造方式进行请求数据的传输。同时,我们也需要注意请求的完整性和正确性,保证请求正文的数据与实际需要传输的数据保持一致。 ### 回答3: HttpWebRequest请求正文是指在发送HTTP请求时,需要发送的数据内容。通常,发送HTTP请求的时候,需要向服务器发送一些数据,比如表单数据、XML数据、JSON数据等等。这些数据需要封装在请求的正文发送。 在使用HttpWebRequest发送POST请求时,需要将请求的数据存储在请求的正文HttpWebRequest提供了多种方法来设置请求的正文,包括设置请求正文的内容类型、设置字符编码、设置数据流等。下面是常用方法的介绍: 1.设置请求正文的内容类型 使用HttpWebRequest的ContentType属性来设置请求正文的内容类型,常见的内容类型包括application/x-www-form-urlencoded、application/json、text/xml等。 2.设置字符编码 发送POST请求时,需要将请求正文的数据编码成字节数组。使用Encoding类来进行字符编码。 3.设置请求正文数据流 使用HttpWebRequest的GetRequestStream方法获取请求正文对应的数据流,通过读写数据流来设置请求正文。 综上所述,请求正文是HTTP请求必不可少的一部分,HttpWebRequest提供了多种方法来设置请求正文,以满足不同的需求。在使用HttpWebRequest发送HTTP请求时,需要了解如何设置请求正文,以确保请求能够成功发送和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值