HttpWebRequest --> The underlying connection was closed: Unable to connect to the ...

aquasonic

Erfahrenes Mitglied
remote Server.

Guten morgen,
ich habe eine eigentlich ganz einfaches Script: Ich gebe in eine Textbox eine URL ein (z.b. http://www.aquasonic.ch), drücke dann einen Button. Sobald ich auf den Button geklickt habe liest er mir die Domain aus (z.B: aquasonic) und ruft Branchenbuch.ch auf, also z.B. folgenden Link:

Code:
http://www.branchenbuch.ch/domains/search.asp?DomainName=aquasonic

Wenn ich diese Seite aufrufe zeigt es mir alle Domains an welche noch frei sind (z.B. .ch, .de, .com). Ich möchte dann mit einem httpWebRequest die Seite parsen und schauen ob die eingegebene Domain (also http://www.aquasonic.ch) frei oder schon besetzt ist. Versuche ich aber mit der Seite eine Verbindung herzustellen, bekomme ich nach einiger Zeit (20 Sekunden ca.) folgende Fehlermeldung:

Code:
The underlying connection was closed: Unable to connect to the remote server.

Wenn ich die Seite im Browser aufrufe funktioniert es ohne Problem...Hier der Code, ich arbeite mit C#

PHP:
private void cmdOK_Click(object sender, System.EventArgs e)
		{
			string text = txtText.Text;			
			int eins = text.IndexOf(".");
			int zwei = text.LastIndexOf(".");
			string dom = text.Substring(eins+1, zwei-eins-1);
			
			if (dom.IndexOf(".") == -1) {
				txtText.Text = Parsen("http://www.branchenbuch.ch/domains/search.asp?DomainName=" + dom, dom, text.Substring(zwei, text.Length-zwei));
			}
			else { txtText.Text = "Fehler!"; }
		}

public string Parsen(string strURL, string strDomain, string strTopLevel)
		{
			HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(strURL); 
			try
			{
				HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
						
				Stream receiveStream = myHttpWebResponse.GetResponseStream();
				Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
				StreamReader readStream = new StreamReader( receiveStream, encode );
				Char[] read = new Char[256];
				int count = readStream.Read( read, 0, 256 );
				string varReturn = "Besetzt";
				while (count > 0) 
				{
					String str = new String(read, 0, count);
					
					Regex regex = new Regex(@"(" + strDomain + ")");
					foreach (string sub in regex.Split(str))
					{
						if (sub.IndexOf(strTopLevel) > -1 && sub.IndexOf("Frei") > -1)
						{
							varReturn = "Frei";
						}
					}
					count = readStream.Read(read, 0, 256);
				}
				myHttpWebResponse.Close();
				readStream.Close();
				return varReturn;
			}
			catch (System.Exception ex)
			{
				return ex.Message;
			}
		}

Was mache ich falsch? Danke schonmal für die Antworten...
 
Problem gelöst

Das Problem ist das ich keine Seiten im Extranet parsen kann, weil ich keine Antwort von denen bekommen kann... --> Router...Seiten im Intranet gehen alle Problemlos... :-(

Weiss jemand wie ich sonst noch prüfen kann ob eine Domain schon verfügbar ist oder nicht? Das wenn ich z.B. http://www.irgendetwas.org eingebe das er automatisch prüft ob die noch frei ist?!
 

Neue Beiträge

Zurück