第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

帶有 Java 套接字的 HTTP 客戶(hù)端

帶有 Java 套接字的 HTTP 客戶(hù)端

HUX布斯 2021-11-03 15:54:07
我嘗試在 Java 中打開(kāi) TCP 套接字并向服務(wù)器 (www.abc.net.au) 發(fā)送 GET 請(qǐng)求并將響應(yīng)打印到控制臺(tái)??蛻?hù)端代碼:import java.util.Scanner;import java.net.InetAddress;import java.net.SocketAddress;import java.net.InetSocketAddress;import java.net.Socket;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.PrintWriter;public class Client {    public static void main(String[] args) throws Exception{        Scanner sc;        String addressString;        int port =80;        int timeoutMs = 30000;        String temp;        //Read address from commandline        sc =new Scanner(System.in);        System.out.print("Adresse: ");        addressString = sc.next();        sc.close();        //Open socket        InetAddress addr = InetAddress.getByName(addressString);        SocketAddress sockaddr = new InetSocketAddress(addr, port);        Socket socket = new Socket();        //Connection timeout        socket.connect(sockaddr,timeoutMs);        System.out.println( socket.getPort() +"\n");        //Define input/output        BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));        PrintWriter pw = new PrintWriter(socket.getOutputStream(), true);        //Send GET request        pw.print("GET / HTTP/1.1\r\n");        pw.print("Host: "+ addressString +"\r\n\r\n");        while((temp=br.readLine())!=null){            System.out.println(temp);        }        //Close Input/Output and Socket        pw.close();        br.close();        socket.close();    }}代碼似乎可以工作,直到它到達(dá)一段時(shí)間,然后我得到:HTTP/1.0 408 Request Time-outServer: AkamaiGHostMime-Version: 1.0Date: Sun, 07 Oct 2018 15:36:40 GMTContent-Type: text/htmlContent-Length: 218Expires: Sun, 07 Oct 2018 15:36:40 GMT我不明白是什么導(dǎo)致了這個(gè)問(wèn)題,已經(jīng)在 stackoverflow、java2s 和我在家里得到的一本書(shū)上尋找答案。嘗試其他頁(yè)面通常以:Process finished with exit code 0沒(méi)有別的。知道我的請(qǐng)求缺少什么/不正確嗎?欣賞每一個(gè)提示。
查看完整描述

1 回答

?
Helenr

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊

PrintWriter具有用于存儲(chǔ)數(shù)據(jù)的內(nèi)部緩沖區(qū),因此當(dāng)您調(diào)用時(shí)print- 不會(huì)向服務(wù)器發(fā)送任何內(nèi)容


來(lái)自https://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html


與 PrintStream 類(lèi)不同,如果啟用自動(dòng)刷新,則僅在調(diào)用println、printf或format方法之一時(shí)才會(huì)執(zhí)行,而不是在碰巧輸出換行符時(shí)執(zhí)行。


因此,您可以使用這些方法代替print或直接調(diào)用flush:


pw.print("GET / HTTP/1.1\r\n");

pw.print("Host: " + addressString + "\r\n\r\n");

pw.flush(); // actually send data to server


查看完整回答
反對(duì) 回復(fù) 2021-11-03
  • 1 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)