Моему приложению C необходимо подключиться к серверу Http и получить ответ, и у меня возникли проблемы с подключением к серверу, который не работает на порту 80.
Я использую Djangoсервер разработки на порту 8000 вместо Apache в моей среде разработки.Но я только что протестировал подключение к своей странице Django на Apache через порт 80, и libcurl смог подключиться.Я могу подключиться к порту 8000 в своем браузере, но libcurl не может.
Я пробовал этот URL: http://192.168.1.186:8000/mypage/
и http://192.168.1.186/mypage/
, а затем установил CURLOPT_PORT на 8000, но ни один из них не работал.
Конкретная ошибка:
libcurl error: 7
libcurl error: couldn't connect to server
На сервере работает CentOS 5.5, и у меня есть порт 8000, пересылаемый через iptables, а SELinux отключен.
Я просто включу соответствующий код.
char* url = "http://192.168.1.186:8000/mypage/";
CURL* curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, wait_for_response);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
curl_easy_perform(curl);
Также использование командной строки curl также не работает.
curl <a href="http://192.168.1.186:8000/mypage/" rel="nofollow">http://192.168.1.186:8000/mypage/</a>
Edit: я обнаружил, что если я переключаю Apache на порт 8000, curl работает нормально,поэтому на сервере Django есть что-то, что игнорирует мои запросы.