मैं एक अजीब समस्या निम्न url से है:HttpWebRequest विफल रहता है तक पहुँचने http://xn--fanbys-exa.org/episodes.m4a.rss
यहाँ
void WebRequestButton_Click(object sender, RoutedEventArgs e)
{
string url = "http://xn--fanbys-exa.org/episodes.m4a.rss";
if (Uri.IsWellFormedUriString(url, UriKind.Absolute))
{
HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(url);
if (webRequest != null)
{
webRequest.BeginGetResponse(new AsyncCallback(ReadWebRequestCallback), webRequest);
}
}
}
private void ReadWebRequestCallback(IAsyncResult callbackResult)
{
HttpWebRequest request = (HttpWebRequest)callbackResult.AsyncState;
HttpWebResponse response = null;
try
{
response = (HttpWebResponse)request.EndGetResponse(callbackResult);
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine(e);
}
if (response != null)
{
using (StreamReader httpwebStreamReader = new StreamReader(response.GetResponseStream()))
{
string results = httpwebStreamReader.ReadToEnd();
System.Diagnostics.Debug.WriteLine(results);
}
response.Close();
}
}
request.EndGetResponse (साथ प्रतिक्रिया पढ़ना) इस फेंकता है: कोड है अपवाद:
A first chance exception of type 'System.ArgumentException' occurred in System.Windows.dll
System.ArgumentException ---> System.ArgumentException: The parameter is incorrect.
at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.WebRequest_Send(InternalWebRequest request)
at MS.Internal.InternalWebRequest.Send()
at System.Net.Browser.ClientHttpWebRequest.PrepareAndSendRequest(String method, Uri requestUri, Stream requestBodyStream, WebHeaderCollection headerCollection, CookieContainer cookieContainer)
at System.Net.Browser.ClientHttpWebRequest.BeginGetResponseImplementation()
at System.Net.Browser.ClientHttpWebRequest.InternalBeginGetResponse(AsyncCallback callback, Object state)
at System.Net.Browser.ClientHttpWebRequest.BeginGetResponse(Async'UI Task' (Managed): Loaded 'System.Runtime.Serialization.dll'
जहां तक मेरा यूआरएल
wellformed है बता सकते हैं।
मेरे द्वारा किए गए सभी ब्राउज़र इसे संभाल सकते हैं।
फिडलर के साथ परीक्षण से पता चलता है कि विंडोज फोन एमुलेटर से कोई HTTP अनुरोध नहीं भेजा जा रहा है।
तो कई अलग अलग यूआरएल की कोशिश की है (एक सक्रिय फ़िडलर उदाहरण के साथ):
string url = "http://xn--fanbys-exa.org/episodes.m4a.rss";
// not ok --> System.ArgumentException: The parameter is incorrect.
string url = "http://xn--fanbys-exa.org";
// not ok --> System.ArgumentException: The parameter is incorrect.
string url = Uri.EscapeUriString("http://xn--fanbys-exa.org/episodes.m4a.rss");
// not ok --> System.ArgumentException: The parameter is incorrect.
string url = "http://stackoverflow.com";
// ok, HTTP request is sent and response is received
string url = "http://stack--overflow.com";
// ok, HTTP request is sent and response is received
string url = "http://xn--stackoverflow.com";
// ok, HTTP request is sent and response 502 is received
// --> System.Net.WebException: The remote server returned an error: NotFound.
मुद्दा एमुलेटर साथ और डिवाइस पर पुनः प्रस्तुत किया जा सकता है।
मेरा अनुमान है कि यह DNS संबंधित हो सकता है।
मेरे पास संदर्भित वेबसाइट और इसकी DNS प्रविष्टि पर कोई नियंत्रण नहीं है।
कोई विचार?
इसे बाहर की कोशिश की और यह वास्तव में कुछ अजीब बात है
हैरानगी, WebClient भी इसी तरह के मुद्दे को दर्शाता है। कोड fanbóys.org/डोमेन में दिए गए किसी भी यूआरएल का उपयोग करके एक आकर्षण की तरह काम करता है। –