PDA

View Full Version : سوال: مشکل تو زدن curl



se8820726
پنج شنبه 01 اسفند 1392, 22:02 عصر
سلام
آقا من میخوام با استفاده از curl محتویات این url رو بگیرم:


http://www.freeproxylists.net/?s=rs

ولی نمیشه و یه صفحه میاره که باید کد کپچا وارد کنم ولی وقتی با مرورگر میرم بدون هیچ مشکلی اطلاعات اصلی صفحه رو بهم نشون میده



<?php
$url = str_replace(' ', '%20', "http://www.freeproxylists.net/?s=rs");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36');

//curl_setopt( $ch, CURLOPT_COOKIE, $action['cockie'] );

$data['content'] = curl_exec($ch);
$data['rescode'] = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$data['type'] = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
$data['endurl'] = urldecode ( curl_getinfo($ch, CURLINFO_EFFECTIVE_URL) );

curl_close($ch);

echo $data['content'];
?>

se8820726
جمعه 02 اسفند 1392, 12:31 عصر
آقا کسی نبود به ما کمک کنه ؟؟

abolfazl-z
جمعه 02 اسفند 1392, 14:42 عصر
خوب صد در صد داره از روی هدر تشخصی میده که یک ربات وصل شده نه یک کاربر !

تمامی هدر هایی که یک کلانیت میفرسته رو بفرست ببین جواب میگیری ؟

افزونه live http header در فایرفاکس رو نصب کن که کمکت میکنه.

se8820726
جمعه 02 اسفند 1392, 19:27 عصر
اتفاقا همین کارم کردم.
تمامی هدرهای مرورگر رو فرستادم و هیچ هدر اضافه ای نفرستادم. بازم این مشکلو داشتم.
شما خودت میتونی امتحان کنی ؟؟

abolfazl-z
جمعه 02 اسفند 1392, 19:46 عصر
زیرا صفحه ای که دانلود میشه فقط یک سری کد اچ تی ام ال و .. هست که تمامی کار ها توسط جاوا اسکریپت صورت میگیره.
یعنی با جاوا اسکریپت اطلاعات دریافت میشه !!!

راهنمایی بنده :

ابتدا افزونه live http header را نصب و سپس به سایت مربوطه وصل شوید.

تمامی اطلاعات ردو بدل شده رو بررسی و منبع دریافت داده ها را کشف کنید.

با تشکر

se8820726
شنبه 03 اسفند 1392, 12:59 عصر
این کد html خامیه که من میگیرم
اگه توش نگاه کنیم میبینیم که اصلا کد جاوااسکریپتی که نشون بده داره اطلاعات از جای دیگه میگیره توش نیست !!


<html>
<head>
<title>Free Proxy Lists</title>
<style type="text/css">
<!--
div#contents {
width: 350px;
height: 200px;
position: absolute;
top: 50%;
left: 50%;
margin: -100px 0 0 -175px;
padding: 0px;
}
-->
</style>
<script type="text/javascript">
var RecaptchaOptions = {"theme" : 'white'};
</script>
</head>
<body>
<div id="contents">
<center>
<form action="/?s=rs" method="post">
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6Le_WMgSAAAAAA4uDAuQLvXoCex0v8Tkye2YfV JR"></script>
<noscript>
<iframe src="http://www.google.com/recaptcha/api/noscript?k=6Le_WMgSAAAAAA4uDAuQLvXoCex0v8Tkye2YfVJ R" height="300" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40">
</textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge">
</noscript>
<br />
<input class="form" type="submit" value="Submit" style="width:80px;" />
</form>
</center>
</div>
</body>
</html>

abolfazl-z
شنبه 03 اسفند 1392, 17:43 عصر
این کد html خامیه که من میگیرم
اگه توش نگاه کنیم میبینیم که اصلا کد جاوااسکریپتی که نشون بده داره اطلاعات از جای دیگه میگیره توش نیست !!


<html>
<head>
<title>Free Proxy Lists</title>
<style type="text/css">
<!--
div#contents {
width: 350px;
height: 200px;
position: absolute;
top: 50%;
left: 50%;
margin: -100px 0 0 -175px;
padding: 0px;
}
-->
</style>
<script type="text/javascript">
var RecaptchaOptions = {"theme" : 'white'};
</script>
</head>
<body>
<div id="contents">
<center>
<form action="/?s=rs" method="post">
<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6Le_WMgSAAAAAA4uDAuQLvXoCex0v8Tkye2YfV JR"></script>
<noscript>
<iframe src="http://www.google.com/recaptcha/api/noscript?k=6Le_WMgSAAAAAA4uDAuQLvXoCex0v8Tkye2YfVJ R" height="300" width="500" frameborder="0"></iframe><br>
<textarea name="recaptcha_challenge_field" rows="3" cols="40">
</textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge">
</noscript>
<br />
<input class="form" type="submit" value="Submit" style="width:80px;" />
</form>
</center>
</div>
</body>
</html>


دوست عزیز با php نه با مروگر خودتون !

کد اچ تی ام ال ضمیمه شد.

116989

من راه حل رو بیان کردم.

شاید اصلا نتونین به داده ها دسترسی پیدا کنین اگر تجربه کافی در زمینه برنامه نویسی (جاوا اسکریپت) نداشته باشید.

شاید داده ها برای امنیت بیشتر کد گذاری شوند و ...

با تشکر