2014-10-08 5 views
0


Я хотел отправить форму с PHP со специальными значениями, но это не работает вот код:
Отправить форму автоматически с PHP

<?php 
//create array of data to be posted 
$post_data['username'] = 'something'; 
$post_data['password'] = 'something!'; 
//traverse array and prepare data for posting (key1=value1) 
foreach ($post_data as $key => $value) { 
    $post_items[] = $key . '=' . $value; 
} 
//create the final string to be posted using implode() 
$post_string = implode ('&', $post_items); 
//create cURL connection 
$curl_connection =curl_init('http://www.parsdata.com/'); 
//set options 
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30); 
curl_setopt($curl_connection, CURLOPT_USERAGENT, 
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); 
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1); 
//set data to be posted 
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string); 
//perform our request 
$result = curl_exec($curl_connection); 
//show information regarding the request 
print_r(curl_getinfo($curl_connection)); 
echo curl_errno($curl_connection) . '-' . 
       curl_error($curl_connection); 
//close the connection 
curl_close($curl_connection); 
?> 

И это то, что возвращается:

Array ([url] => http://www.parsdata.com/ [content_type] => text/html; charset=utf-8 [http_code] => 200 [header_size] => 328 [request_size] => 245 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 3.876425 [namelookup_time] => 0.031218 [connect_time] => 0.238176 [pretransfer_time] => 0.23823 [size_upload] => 56 [size_download] => 72015 [speed_download] => 18577 [speed_upload] => 14 [download_content_length] => 72015 [upload_content_length] => 56 [starttransfer_time] => 1.703701 [redirect_time] => 0 [certinfo] => Array () [primary_ip] => 217.66.216.91 [primary_port] => 80 [local_ip] => 23.236.155.242 [local_port] => 43417 [redirect_url] =>) 0- 

Исключена ошибка, но это не работает.
Я действительно не знаю, что делать.
Если вам нужен реальный пользователь и пропуск, я могу дать вам!
Спасибо заранее.

+3

Что именно означает «не работает»? Что хранится в $ result? – Marcel

+0

На веб-сайте, который вы, вероятно, пытаетесь отправить данные, есть методы, позволяющие вам не делать этого. Плохая интернет-практика – sjagr

+2

В зависимости от имени пользователя и пароля вам может понадобиться «URLencode» значения. – blue112

ответ

1

Вы должны использовать правильный URL для входа. Я посетил веб-сайт, и я нашел этот URL для входа в систему - http://members.parsdata.com/default.aspx?dll=user&ctl=autosignin

+0

Я тестирую его: http://kghaz.ir/project/new/KeyPHP/auto.php Еще есть проблема, что он перенаправляется на http://kghaz.ir/default.aspx?dll=system&ctl=dashboard&a = 1 & cul = fa-IR вместо: https://members.parsdata.com/default.aspx?dll=system&ctl=dashboard&a=1&cul=fa-IR Как это исправить? – Ali

+0

Тогда вы должны сделать то, что предложили @ blue112: - Если вы хотите войти на сайт, все, что вам нужно сделать, это разобрать заголовок Set-Cookie в ответе и передать заголовок Cookie для каждого запроса, который вы будете сделайте после этого. –

+0

Я добавляю это для разбора куки-файлов не работает! curl_setopt ($ curl_handle, CURLOPT_COOKIESESSION, true); curl_setopt ($ curl_handle, CURLOPT_COOKIEJAR, dirname (__ FILE __). '/ Cookie.txt'); curl_setopt ($ curl_handle, CURLOPT_COOKIEFILE, dirname (__ FILE __). '/ Cookie.txt'); – Ali

1

Собственно, он может работать.

Если вы хотите войти на сайт, все, что вам нужно сделать, это разобрать заголовок Set-Cookie в ответе и передать заголовок Cookie на каждый запрос, который вы сделаете после этого.

Вы можете использовать печенье банку, чтобы сделать это, больше информации здесь: PHP Curl And Cookies

0

Если вы хотите войти на сайт, все, что вам нужно сделать, это разобрать заголовок Set-Cookie в ответ, и передать заголовок Cookie для каждого запроса, который вы сделаете после этого.

Смежные вопросы