The remote server returned an error: (407) Proxy Authentication Required
สวัสดีครับ วันนี้ผมก็ได้มีโอกาสได้แก้ไข Application สำหรับดึงข้อมูลราคาน้ำมันจาก PTT Web Service มา Stamp ลง DB ด้วย C# แล้วก็พบปัญหา (407) Proxy Authentication Required ขึ้นมา จากนั้นก็ได้หาวิธีแก้ไขปัญหา จนพบวิธีแก้ไขปัญหานี้ ซึ่งผมก็ได้แก้ไขดังนี้
private static HttpWebRequest CreateWebRequest()
{
HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(@"http://www.pttplc.com/webservice/pttinfo.asmx");
// If required by the server, set the credentials.
IWebProxy proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = CredentialCache.DefaultCredentials;
webRequest.Proxy = proxy; webRequest.ContentType = "application/soap+xml; charset=utf-8";
webRequest.Accept = "application/soap+xml; charset=utf-8";
webRequest.Method = "POST"; return webRequest;
}
เพิ่มส่วนของการเซ็ต credentials ให้กับ HttpWebRequest จากนั้นก็จะสามารถแก้ไข (407) Proxy Authentication Required ได้ครับ
อ้างอิงข้อมูลจาก HttpWebRequest PTTInfo Web Service
(ข้อมูลอาจมีข้อผิดพลาด ถ้าจะเอาบทความนี้ไปอ้างอิงที่อื่นให้ตรวจสอบให้ดีก่อนนะครับ ขอบคุณครับ)
สำหรับวันนี้ ต้องขอลาไปก่อน สวัสดีครับ NottDev :)