Я тестирую скрипт на своем локальном хосте, и он работает отлично. Я попробовал на своем сервере, и это не сработало.
<?php $uploadfile=dirname(__FILE__)."/xml_request/cat.xml"; $ch = curl_init("http://remote.xxxxxxxxxx.com.au:8090/Options.API"); curl_setopt($ch, CURLOPT_POSTFIELDS, array('Request'=>"@$uploadfile", 'clientKey'=>'xxxxxxxxxxxxxxxxxxx')); curl_setopt($ch, CURLOPT_PORT, '8090'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $postResult = curl_exec($ch); $response = curl_getinfo($ch); echo "<pre>"; print_r($response); echo "</pre>"; curl_close($ch); echo "<pre>"; print_r($postResult); //file_put_contents(dirname(__FILE__).'/xml_record/live.xml', $postResult); ?>
Localhost I print_r curl_getinfo ($ ch).
Array ( [url] => http://remote.xxxxxxxx.com.au:8090/Options.API [content_type] => text/html; charset=utf-8 [http_code] => 200 [header_size] => 246 [request_size] => 215 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 2.278 [namelookup_time] => 0 [connect_time] => 0.344 [pretransfer_time] => 0.344 [download_content_length] => 9376 [upload_content_length] => 759 [starttransfer_time] => 0.734 [redirect_time] => 0 [certinfo] => Array ( ) [redirect_url] => )
Live test I print_r curl_getinfo ($ ch).
Array ( [url] => http://remote.xxxxxxxxxxx.com.au:8090/Options.API [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.012024 [namelookup_time] => 0.011809 [connect_time] => 0 [pretransfer_time] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 )
Не уверен, что проблема с портом URL. Я пытаюсь найти решение проблемы, но не повезло.
Из комментариев:
Ваш веб-хост, вероятно, блокирует исходящий трафик на порту 8090. Многие веб-хосты блокируют необычные порты для дополнительной безопасности. Единственный способ решить эту проблему – связаться с вашим веб-хостом и попросить их разблокировать порт, чтобы вы могли подключиться к нему.