Tôi không thực sự chắc chắn loại tiêu đề nào được đánh dấu các giá trị này, nhưng tôi nên thêm chúng bằng cách sử dụng HttpWebRequest như thế nào?Thêm tiêu đề tùy chỉnh bằng cách sử dụng HttpWebRequest
là một phần tô đậm coi cơ thể của yêu cầu http hoặc dữ liệu tiêu đề? Nói cách khác, cách nào là đúng?
Dưới đây là đoạn code Tôi hiện đang sử dụng:
HttpWebRequest request = (HttpWebRequest) WebRequest.Create("/securecontrol/reset/passwordreset");
request.Headers.Add("Authorization", "Basic asdadsasdas8586");
request.ContentType = "application/x-www-form-urlencoded";
request.Host = "www.xxxxxxxxxx.com";
request.Method = "POST";
request.Proxy = null;
request.Headers.Add("&command=requestnewpassword");
request.Headers.Add("&application=netconnect");
Nhưng tôi nên sử dụng sau đây thay vì để xây dựng các yêu cầu HTTP trên?
string reqString = "&command=requestnewpassword&application=netconnect";
byte[] requestData = Encoding.UTF8.GetBytes(reqString);
HttpWebRequest request = (HttpWebRequest) WebRequest.Create("/securecontrol/reset/passwordreset");
request.Headers.Add("Authorization", "Basic ashAHasd87asdHasdas");
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = requestData.Length;
request.Proxy = null;
request.Host = "www.xxxxxxxxxx.com";
request.Method = "POST";
using (Stream st = request.GetRequestStream())
st.Write(requestData, 0, requestData.Length);
đoạn mã đầu tiên bạn nên làm việc tốt, nhưng để chắc chắn rằng dữ liệu là trong thực tế trong tiêu đề, bạn đã thử nhìn vào các gói tin trong Wireshark hoặc một cái gì đó tương tự? Trong Wireshark, bạn có thể nhấp chuột phải vào một gói, chọn để mở nó trong một cửa sổ mới, sau đó mở rộng phần "Giao thức truyền siêu văn bản". – Lander
@M. Babcock: Chúng không giống nhau, tôi đã thay đổi các giá trị trong mã. – Tarik
@Lander: Tôi đang làm việc với một máy chủ rất an toàn và mã thực sự quá lớn và có vẻ như phải mất thời gian để kiểm tra nó không may:/ – Tarik