У меня есть Java-программа, которая пытается сделать HTTP-запрос через сокет. По какой-то причине слэши в строке испортили его.Новый разъем, испорченный косой чертой?
У меня есть попытка/уловка, и она попадает, как только сокет создается со строкой, которая имеет косую черту.
Socket socket = new Socket("www.google.ca", port);
Response
HTTP/1.1 400 Bad Request
Content-Length: 54
Content-Type: text/html; charset=UTF-8
Date: Fri, 14 Oct 2016 06:05:43 GMT
Connection: close
<html><title>Error 400 (Bad Request)!!1</title></html>
Теперь с косой чертой
Socket socket = new Socket("www.google.ca/", port);
попадается.
Моя просьба.
outputStream.println("GET/HTTP/1.1");
outputStream.println("");
outputStream.flush();
Я пытаюсь получить доступ к определенному сайту с именем хоста и дорогой с косой чертой. Что происходит?
Исключение происходит от: https://docs.oracle.com/javase/ 7/docs/api/java/net/InetAddress.html # getByName% 28java.lang.String% 29 – dit
Поскольку 'www.google.ca /' не является допустимым именем хоста. Путь к URL должен быть расположен в части 'GET'. Читайте об HTTP-протоколе. Если вы хотите подключиться к 'http: // host/path', вы должны открыть TCP-сокет для' host', затем использовать 'GET/path' и т. Д. –