Skocz do zawartości

[PHP/cURL] Logowanie się do E-Weblink


nowyyy31

Rekomendowane odpowiedzi

Witam,

Na podstawie tematu

 Logowanie do SEOKatalogu[/url], staram się zrobić logowanie do gotlink i e-weblink. I logowanie do e-weblinka niestety nie działa. 

Plik cookies_eweblink
[code]# Netscape HTTP Cookie File
# https://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

www.e-weblink.com FALSE / FALSE 0 PHPSESSID jakies_literki_i_liczby[/code]

Mój plik do logowania się

[code]$cookies = 'cookies_eweblink';
$PostDane = 'login=MojLogin&pass=TajneHaslo';


$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.e-weblink.com/index.php');
curl_setopt($curl, CURLOPT_REFERER, 'https://www.e-weblink.com/login.php');
//curl_setopt($curl, CURLOPT_URL, 'https://www.gotlink.pl/auth/login/');
//curl_setopt($curl, CURLOPT_REFERER, 'https://www.gotlink.pl/manager/sites-adder/');
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, $PostDane);

curl_exec($curl);
curl_close($curl)[/code]

Gdzie robię błąd?

Pozycjonowanie stron firmowych więcej na www.nowapozycja.pl

Domeny pod zaplecze praktycznedomeny.pl z ruchem niezlyadres.pl

Odnośnik do komentarza
Udostępnij na innych stronach

próbowałem podstawić dane do kodów które zostały podane w postach, ale bez żadnego pozytywnego efektu :blink:

https://www.forum.optymalizacja.com/index.p...st&p=801510

https://www.forum.optymalizacja.com/index.p...st&p=792589

<?php
$zaloguj = new mycurl('');
$dane = array();
$dane['login'] = 'MojLogin';
$dane['pass'] = 'TajneHaslo';
$zaloguj->setPost($dane);
$zaloguj->createCurl('https://www.e-weblink.com');


class mycurl {
protected $_useragent = 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.7) Gecko/20100715 Linux Mint/9 (Isadora) Firefox/3.6.7';
protected $_url;
protected $_followlocation;
protected $_timeout;
protected $_maxRedirects;
protected $_cookieFileLocation = './cookie.txt';
protected $_post;
protected $_postFields;
protected $_referer ="https://www.e-weblink.com";

protected $_session;
protected $_webpage;
protected $_includeHeader;
protected $_noBody;
protected $_status;
protected $_binaryTransfer;
public $authentication = 0;
public $auth_name = '';
public $auth_pass = '';

public function useAuth($use){
$this->authentication = 0;
if($use == true) $this->authentication = 1;
}

public function setName($name){
$this->auth_name = $name;
}
public function setPass($pass){
$this->auth_pass = $pass;
}

public function __construct($url,$followlocation = true,$timeOut = 30,$maxRedirecs = 10,$binaryTransfer = false,$includeHeader = false,$noBody = false)
{
$this->_url = $url;
$this->_followlocation = $followlocation;
$this->_timeout = $timeOut;
$this->_maxRedirects = $maxRedirecs;
$this->_noBody = $noBody;
$this->_includeHeader = $includeHeader;
$this->_binaryTransfer = $binaryTransfer;

$this->_cookieFileLocation = dirname(__FILE__).'/cookie.txt';

}

public function setReferer($referer){
$this->_referer = $referer;
}

public function setCookiFileLocation($path)
{
$this->_cookieFileLocation = $path;
}

public function setPost ($postFields)
{
$this->_post = true;
$this->_postFields = $postFields;
}

public function setUserAgent($userAgent)
{
$this->_useragent = $userAgent;
}

public function createCurl($url = 'nul')
{
if($url != 'nul'){
$this->_url = $url;
}

$s = curl_init();

curl_setopt($s,CURLOPT_URL,$this->_url);
curl_setopt($s,CURLOPT_HTTPHEADER,array('Expect:'));
curl_setopt($s,CURLOPT_TIMEOUT,$this->_timeout);
curl_setopt($s,CURLOPT_MAXREDIRS,$this->_maxRedirects);
curl_setopt($s,CURLOPT_RETURNTRANSFER,true);
curl_setopt($s,CURLOPT_FOLLOWLOCATION,$this->_followlocation);
curl_setopt($s,CURLOPT_COOKIEJAR,$this->_cookieFileLocation);
curl_setopt($s,CURLOPT_COOKIEFILE,$this->_cookieFileLocation);

if($this->authentication == 1){
curl_setopt($s, CURLOPT_USERPWD, $this->auth_name.':'.$this->auth_pass);
}
if($this->_post)
{
curl_setopt($s,CURLOPT_POST,true);
curl_setopt($s,CURLOPT_POSTFIELDS,$this->_postFields);

}

if($this->_includeHeader)
{
curl_setopt($s,CURLOPT_HEADER,true);
}

if($this->_noBody)
{
curl_setopt($s,CURLOPT_NOBODY,true);
}
/*
if($this->_binary)
{
curl_setopt($s,CURLOPT_BINARYTRANSFER,true);
}
*/
curl_setopt($s,CURLOPT_USERAGENT,$this->_useragent);
curl_setopt($s,CURLOPT_REFERER,$this->_referer);

$this->_webpage = curl_exec($s);
$this->_status = curl_getinfo($s,CURLINFO_HTTP_CODE);
curl_close($s);

}

public function getHttpStatus()
{
return $this->_status;
}

public function __tostring(){
return $this->_webpage;
}
}

?>

<?php 


function getUrl( $url, $headers = array(), $options = array() )
{
	$ch = curl_init( $url );

	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
	curl_setopt( $ch, CURLOPT_HEADER, 0 );
	curl_setopt($ch, CURLOPT_COOKIEFILE, 'cook');
	curl_setopt($ch, CURLOPT_COOKIEJAR, 'cook');
	if( !empty( $headers ) )
	{
		curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers );
	}

	foreach( $options as $opt => $val )
	{
		curl_setopt( $ch, $opt, $val );
	}

	$output = curl_exec( $ch );

	if( $output === false )
	{
		throw new Exception( curl_error( $ch ) );
	}

	curl_close( $ch );

	return $output;
}

$headers = array();

$options = array();
$options[ CURLOPT_POST ] = 1;
$options[ CURLOPT_POSTFIELDS ] = array( 'login' => 'MojLogin', 'pass' => 'TajneHaslo' );	
getUrl('https://www.e-weblink.com', $headers, $options);

?>

/ edycja

już rozwiązałem problem dzięki tematowi

Logowanie na portalu poszkole

A mój kod teraz wygląda tak:

<?php
function createPostString($aPostFields) {
foreach ($aPostFields as $key => $value) {
$aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
}
return implode('&', $aPostFields);
}
$cookies = 'cookies_eweblink';

$postFields['login'] = 'mojlogin';
$postFields['pass'] = 'tajnehaslo';
$postFields['submit'] = ' ';

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.e-weblink.com/login.php');
curl_setopt($curl, CURLOPT_REFERER, 'https://www.e-weblink.com/login.php');
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($curl, CURLOPT_POST, TRUE);

curl_setopt($curl, CURLOPT_POSTFIELDS,  createPostString($postFields));

curl_exec($curl);
curl_close($curl)

?>

Pozycjonowanie stron firmowych więcej na www.nowapozycja.pl

Domeny pod zaplecze praktycznedomeny.pl z ruchem niezlyadres.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...

Na ogólnych zasadach wysyłania danych metodą POST za pomocą cURL.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Gość Slawexsdz

API, z tego co patrzyłem, jest dostępne tylko dla kont pro.

Skleiłem taki kod:

<?php

function createPostString($aPostFields) {

foreach ($aPostFields as $key => $value) {

$aPostFields[$key] = urlencode($key) . '=' . urlencode($value);

}

return implode('&', $aPostFields);

}

$cookies = 'cookies_eweblink';

$postFields['login'] = 'login';

$postFields['pass'] = 'haslo';

$postFields['submit'] = ' ';

$postFields['link_href'] = 'href';

$postFields['link_name'] = 'name';

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, 'https://www.e-weblink.com/login.php');

curl_setopt($curl, CURLOPT_REFERER, 'https://www.e-weblink.com/login.php');

curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookies);

curl_setopt($curl, CURLOPT_POST, TRUE);

curl_setopt($curl, CURLOPT_POSTFIELDS, createPostString($postFields));

curl_exec($curl);

curl_setopt($curl, CURLOPT_URL, 'https://www.e-weblink.com/account_link.php');

curl_setopt($curl, CURLOPT_REFERER, 'https://www.e-weblink.com/account_link.php');

curl_exec($curl);

curl_close($curl)

?>

Niestety, nie mogę dostać się nawet do panelu linków.

Proszę o pomoc.

Odnośnik do komentarza
Udostępnij na innych stronach

Sprawdź "czy jesteś zalogowany" w tym celu:

- wykonaj żądanie HTTP POST "logujące"

- następnie metodą GET "wejdź" = pobierz stronę "panelu linków." i sprawdź czy to ta strona wyświetlając jej kod echo $kodHTML;

Oczywiście po zalogowaniu przy wejściu na inną stronę GET musisz wysyłać cookie czyli dołączył

curl_setopt($curl, CURLOPT_COOKIEFILE, $cookies);

curl_setopt($curl, CURLOPT_COOKIEJAR, $cookies);

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Na szybko napisane i działa


$cookies = dirname(__FILE__) .'/cookie.txt';
$login = 'login';
$haslo = 'haslo';

$PostDane = 'login='.$login.'&pass='.$haslo.'&submit= ';

$ch = curl_init('https://www.e-weblink.com/login.php');
curl_setopt($ch, CURLOPT_REFERER, 'https://google.pl/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $PostDane);
$sHtml = curl_exec($ch);
curl_close($ch);


$ch = curl_init('https://www.e-weblink.com/account_link.php');
curl_setopt($ch, CURLOPT_REFERER, 'https://www.e-weblink.com/');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookies);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookies);
echo $sHtml = curl_exec($ch);
curl_close($ch);

Pierwszy CURL loguje nas a drugi wyświetla listę linków

bilbord_opublikuj_mini.png

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności