Я использую локальный сервер apache с xampp на моих окнах.
Я пытаюсь протестировать свой php-сервер с некоторыми запросами Http.
Я получаю исключение java.net.UnknownHostException при попытке установить соединение с моей программой Java.
Я мог бы поменять местами и загрузить расширение Chrome для выполнения запросов, но позже я хочу получить доступ к своему серверу с помощью приложения для Android, написанного на Java, поэтому мне нужен рабочий код.
Сервер работает, и я могу получить к нему доступ с помощью Chrome.
Это мой код Java (без импорта и упаковки):
public class Main {
public static void main(String[] args) {
RemoteConnecter connector = new RemoteConnecter("", "");
ArrayList<String> params = new ArrayList<String>();
params.add("intent=connect");
System.out.println(connector.request(params));
}
}
public class RemoteConnecter {
String password;
String username;
public RemoteConnecter(String username, String password) {
this.password = password;
this.username = username;
}
public String request(ArrayList<String> params) {
String temp = null;
String urllink = "https://www.Jobads43.wpm";
URL url = null;
HttpURLConnection con = null;
try {
url = new URL(urllink);
con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
//params
String urlParams = "user=" + username + "&password=" + password;
for (int i = 0; i < params.size(); i++) {
urlParams += "&" + params.get(i);
}
byte[] postData = urlParams.getBytes( StandardCharsets.UTF_8 );
int postDataLength = postData.length;
con.setRequestProperty( "Content-Length", Integer.toString( postDataLength ));
con.setUseCaches( false );
DataOutputStream output = new DataOutputStream( con.getOutputStream()/*Exception is thrown here*/);
output.write( postData );
BufferedReader in = null;
in = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while((line = in.readLine()) != null) {
sb.append(line);
}
in.close();
temp = sb.toString();
}catch(Exception e) {
e.printStackTrace();
}
return temp;
}
}
Это выдержка из моего vhost.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:\path-is-correct-but-not-shown"
ServerName Jobads43.wpm
ServerAlias www.JobAds.local
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
ErrorLog "C:\xampp\htdocs\log"
</VirtualHost>
А это у меня в хостах
127.0.0.1 Jobads43.wpm
Прошу прощения за форматирование, я не могу сделать это лучше ...
В редактировании отформатирован лучше
Вы можете мне помочь?
UPDATE:
когда я использую URL "https://Jobads43.wpm", я получаю исключение javax.net.ssl.SSLHandshakeException
когда я использую URL "http://Jobads43.wpm" его работает.
Но мне нужно использовать протокол https для безопасной отправки моих данных. как сделать?