我的C應用程序需要連接到Http服務器並獲得響應,並且在連接到未在端口80上運行的服務器時遇到一些問題。Libcurl:無法連接到Django開發服務器
我在端口8000上使用Django開發服務器,而不是在我的開發環境中使用Apache。但我只是在端口80上測試連接到Apache上的Django頁面,並且libcurl能夠連接。我可以在瀏覽器中連接到端口8000,但libcurl不能。
我試過這個網址: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 http://192.168.1.186:8000/mypage/
編輯:我發現,如果我切換到Apache的8000端口捲曲正常工作,所以也有一些是在無視我的請求Django的服務器。
你可以:'telnet 192.168.1.186 8000'?如果這也失敗了,這是一個網絡/防火牆/配置問題,而不是編程/捲曲問題。 – nos 2010-11-05 15:04:24
我的連接被拒絕。我更新了問題,因爲我發現,捲曲正常工作時,Apache是8000。所以Django的服務器只是忽略我的捲曲請求。 – jonescb 2010-11-05 15:07:48