คำถามติดแท็ก urlconnection

11
วิธีใช้ java.net.URLConnection เพื่อเริ่มและจัดการคำขอ HTTP
ใช้java.net.URLConnectionถูกถามเกี่ยวกับที่นี่มักจะสวยและออราเคิลกวดวิชาเป็นเกินไปรัดกุมเกี่ยวกับมัน บทช่วยสอนนั้นโดยทั่วไปจะแสดงวิธีการเริ่มคำขอ GET และอ่านการตอบสนอง มันไม่ได้อธิบายว่าจะใช้ที่ใดในที่อื่น ๆ เพื่อดำเนินการตามคำขอ POST ตั้งค่าส่วนหัวคำขออ่านส่วนหัวตอบสนองจัดการกับคุกกี้ส่งแบบฟอร์ม HTML อัปโหลดไฟล์ ฯลฯ ดังนั้นฉันjava.net.URLConnectionจะใช้เพื่อดำเนินการและจัดการคำขอ HTTP "ขั้นสูง" ได้อย่างไร

5
คุณสามารถอธิบายกระบวนการเชื่อมต่อ HttpURLConnection ได้หรือไม่?
ฉันกำลังใช้HTTPURLConnectionเพื่อเชื่อมต่อกับบริการเว็บ ฉันรู้วิธีใช้HTTPURLConnectionแต่ฉันอยากเข้าใจว่ามันทำงานอย่างไร โดยทั่วไปฉันต้องการทราบสิ่งต่อไปนี้: จุดใดที่HTTPURLConnectionพยายามสร้างการเชื่อมต่อกับ URL ที่ระบุ จุดใดที่ฉันสามารถรู้ได้ว่าฉันสามารถสร้างการเชื่อมต่อได้สำเร็จ กำลังสร้างการเชื่อมต่อและส่งคำขอจริงในขั้นตอนเดียว / วิธีการโทรหรือไม่? วิธีการคืออะไร? คุณสามารถอธิบายการทำงานของgetOutputStreamและgetInputStreamในระยะของคนธรรมดาได้หรือไม่? ฉันสังเกตเห็นว่าเมื่อเซิร์ฟเวอร์ที่ฉันพยายามเชื่อมต่อหยุดทำงานฉันจะได้รับExceptionที่getOutputStream. หมายความว่าHTTPURLConnectionจะเริ่มสร้างการเชื่อมต่อเมื่อฉันเรียกใช้เท่านั้นgetOutputStream? แล้วgetInputStreamล่ะ? เนื่องจากฉันสามารถรับคำตอบได้ที่getInputStreamนั่นหมายความว่าฉันยังไม่ได้ส่งคำขอใด ๆgetOutputStreamเลย แต่เพียงแค่สร้างการเชื่อมต่อ ทำHttpURLConnectionกลับไปยังเซิร์ฟเวอร์เพื่อร้องขอสำหรับการตอบสนองเมื่อฉันเรียกgetInputStream? ฉันถูกต้องหรือไม่ที่จะบอกว่าopenConnectionสร้างวัตถุเชื่อมต่อใหม่ แต่ยังไม่ได้สร้างการเชื่อมต่อ ฉันจะวัดค่าใช้จ่ายในการอ่านและเชื่อมต่อค่าโสหุ้ยได้อย่างไร

11
ไม่สามารถแก้ไขโฮสต์“ <ใส่ URL ที่นี่>” ไม่มีที่อยู่ที่เชื่อมโยงกับชื่อโฮสต์
ฉันลองทำตามบทช่วยสอนนี้แล้ว: การรับข้อมูลจากเว็บ ฉันได้ลองติดตั้งบน Android 3.0 ซึ่งเป็นแพลตฟอร์มล่าสุดสำหรับแท็บเล็ตอย่างไรก็ตามฉันได้รับข้อผิดพลาดนี้: " ไม่สามารถแก้ไขโฮสต์" www.anddev.org "ไม่มีที่อยู่ที่เชื่อมโยงกับชื่อโฮสต์ " คุณสามารถตรวจสอบ URL ที่ฉันใช้เพื่อพิสูจน์ว่ามีไฟล์อยู่ http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt ฉันสร้างคลาสส่วนตัวและขยายด้วย asynctask นี่คือรหัส: private class Downloader extends AsyncTask&lt;String,Void,String&gt;{ String myString = null; @Override protected String doInBackground(String... arg0) { try{ URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt"); URLConnection ucon = myURL.openConnection(); InputStream is = ucon.getInputStream(); BufferedInputStream bis = …

10
เหตุใดข้อยกเว้น“ java.net.ConnectException: การเชื่อมต่อหมดเวลา” จึงเกิดขึ้นเมื่อ URL ขึ้น
ฉันได้รับConnectException: Connection timed outความถี่บางส่วนจากรหัสของฉัน URL ที่ฉันพยายามจะกดขึ้น รหัสเดียวกันใช้ได้กับผู้ใช้บางคน แต่ใช้ไม่ได้ ดูเหมือนว่าเมื่อผู้ใช้รายหนึ่งเริ่มได้รับข้อยกเว้นนี้พวกเขายังคงได้รับข้อยกเว้น นี่คือการติดตามสแต็ก: java.net.ConnectException: Connection timed out Caused by: java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.Socket.connect(Socket.java:516) at java.net.Socket.connect(Socket.java:466) at sun.net.NetworkClient.doConnect(NetworkClient.java:157) at sun.net.www.http.HttpClient.openServer(HttpClient.java:365) at sun.net.www.http.HttpClient.openServer(HttpClient.java:477) at sun.net.www.http.HttpClient.&lt;init&gt;(HttpClient.java:214) at sun.net.www.http.HttpClient.New(HttpClient.java:287) at sun.net.www.http.HttpClient.New(HttpClient.java:299) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:796) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:748) at …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.