PDA

View Full Version : مشکل با Curl



pat.mat71
شنبه 12 فروردین 1391, 00:23 صبح
من از کد زیر در لوکال هاست استفاده کردم و به خوبی جواب گرفتم و هبچ مشکلی نداره


$elements=values....;
$url='http://202.122.108.12:8800';
$res=post($url,$elements);
function post($url,$elements){

$ch = curl_init();



curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_POST,true);

curl_setopt($ch,CURLOPT_POSTFIELDS,$elements);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);



$result = curl_exec($ch);
curl_close($ch);
return $result;

}

حالا وقتی از کد بالا تو هاستم استفاده میکنم کار نمیکنه و تو حالت ارسال رکوئست میمونه تا تام اوت شه .!
مگر این که به جای 'http://202.122.108.12:8800' یه چیز دیگه مثل google.com یا هرچیز دیگه ای بزارم اونوقت بدون مشکل کار میکنه.

روی 2 تا هاست هم امتحان کردم هر دوشون این طوری بودن ولی روی لوکال خیلی خوب کار میکنه

در ضمن از اینم استفاده کردم ولی باز فرقی نکرد

curl_setopt($ch, CURLOPT_PORT , 8800);

Reza1607
شنبه 12 فروردین 1391, 00:49 صبح
الان كه تست كردم نياز به يوزر نيم و پسورد داشت
شما يوزر نيم و پسورد رو بهش پاس ميدين يا نه؟

pat.mat71
شنبه 12 فروردین 1391, 01:12 صبح
بله فقط برای امنیت مقادیر رو تو کدهای بالا لحاظ نکردم . همونطور که گفت تو لوکال همه چیش درسته

pat.mat71
شنبه 12 فروردین 1391, 01:56 صبح
اصلاً با عقل جور در نمیاد، دوستان اگر کمک کنن ممنون میشم

binyaft
شنبه 12 فروردین 1391, 09:43 صبح
شاید هاست داره دسترسی به اون IP رو میبنده
بپرس از پشتیبان

pat.mat71
شنبه 12 فروردین 1391, 14:42 عصر
رو 2 تا هاست مختلف امتحان کردم .

binyaft
شنبه 12 فروردین 1391, 15:04 عصر
ادرس رو با تابع get_headers چک کن

print_r(get_headers('127.0.0.1'));

pat.mat71
شنبه 12 فروردین 1391, 15:59 عصر
توی لوکال چک کردم همراه با سوار کردن یوزر و پسورد
جواب : Array ( [0] => HTTP/1.0 200 OK [1] => Connection: close [2] => Content-Type: text/html [3] => Content-Length: 2757 )
توی هاست چک کردم
با سوار کردن یوزر و پس روی آدرس
جواب : not support AJAX!') return false; } } } return xmlHttp; }

بدون سوار کردن یوزر و پس یعنی فقط (http://202.122.108.12:8800)
جواب : مثل همون که curl فرستاده باشی مکس طولانی میکمنه آخرش هم چیزی برگشت نمیده.


حالا جالب اینجاست من با ajax از طریق هاست فرستادم جواب داد

var req = getXMLHttp();

req.onreadystatechange=function (){
if(req.readyState == 4){

var result=req.responseText;

document.getElementById('res').innerHTML=result;


}

}
req.open('GET','http://202.122.108.12:8800/?User=*****&Password=****',true);
req.send(null);


ولی حتما باید از curl استفاده کنم.

binyaft
شنبه 12 فروردین 1391, 16:51 عصر
میگم شاید IP هاستت توسط سرویس دهنده بلاک شده!؟ با پشتیبانت تماس گرفتی!؟
چون فرستادن با آژاکس فرقی با لوکال نداره

pat.mat71
شنبه 12 فروردین 1391, 17:35 عصر
من که گفتم روی 2 تا هاست کاملا متفاوت تست کردم .

masato
شنبه 12 فروردین 1391, 17:41 عصر
با سلام به دوستان
من تازه با curl آشنا شدم
بعد کدی توی آموزش این بود

<?php
$ch=curl_init() or die(curl_error());
curl_setopt($ch,CURLOPT_URL,"http://dev.cheshmak.net");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$data=curl_exec($ch);
echo $data;
curl_close($ch);
?>
من روی لوکال امتحان کردم چیزی نشون نداد.
من از wamp, php5 استفاده میکنم و php_curl هم فعال.
میشه راهنمایی کنید؟:گیج:
با تشکر فراوان

masato
شنبه 12 فروردین 1391, 18:02 عصر
درست شد:لبخند::خجالت::لبخند:

binyaft
شنبه 12 فروردین 1391, 21:57 عصر
با سلام به دوستان
من تازه با curl آشنا شدم
بعد کدی توی آموزش این بود

<?php
$ch=curl_init() or die(curl_error());
curl_setopt($ch,CURLOPT_URL,"http://dev.cheshmak.net");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$data=curl_exec($ch);
echo $data;
curl_close($ch);
?>
من روی لوکال امتحان کردم چیزی نشون نداد.
من از wamp, php5 استفاده میکنم و php_curl هم فعال.
میشه راهنمایی کنید؟:گیج:
با تشکر فراوان

http://davidwalsh.name/execute-http-post-php-curl

pat.mat71
شنبه 12 فروردین 1391, 22:27 عصر
فکر میکنم هاست پورت 8800 رو بسته. آیا راهی داره با curl یه جوری بپیچونم هاستو و به این پورت چیزی ارسال کنیم؟