2017-08-30 2 views
0

Ich versuchte, eine Socket-Verbindung auf Knopfdruck zu öffnen. Wenn die Socket-Verbindung erfolgreich ist, muss ich die Web-URL-Daten abrufen, die sich in https server befinden. Schließlich muss ich die empfangenen Daten zum Abspielen an die Video-Ansicht übergeben. Got mit dem folgenden Fehler jedes Mal stucked:Öffnen eines Sockets, um Eingabe-Stream von einem Web-URL (HTTPS-Server) beim Klicken auf die Schaltfläche

 **java.net.UnknownHostException: Unable to resolve host <url>: No address associated with hostname** 

Unten ist mein Code Sockel zu öffnen.

Ich habe meine Internetverbindung überprüft und es ist in Ordnung. Jede Hilfe würde sehr geschätzt werden.

Antwort

0
new Socket("http://www.zocdoc.com/", 80); 

Das Problem liegt im ersten Argument: Sie müssen dort Host-Namen und nicht eine HTTP-URL angeben. Versuchen Sie, die folgenden, wenn Sie einen TCP-Socket öffnen möchten:

new Socket("www.zocdoc.com", 80); 

Aber wenn man einen Strom von Daten aus dieser HTTP-URL konsumieren wollen, Socket ist nicht das, was Sie brauchen (wenn Sie nicht bereit sind, zu implementieren HTTP Protokoll selbst).

InputStream is = new URL("http://www.zocdoc.com/").openStream(); 
// read from that stream 

Oder verwenden, um einige HTTP-Client wie Apache Httpcomponents http://hc.apache.org/httpcomponents-client-ga/

+0

Danke so much..Am nicht diese Ausnahme immer now.But immer null aus Input-Stream: Sie könnte so etwas wie die folgenden mit Vanille URL API verwenden . –

+0

Ich habe die Antwort erweitert –

Verwandte Themen