PHP Curl / Github Запрос - PullRequest
       19

PHP Curl / Github Запрос

0 голосов
/ 08 апреля 2020

Мне нужно подключиться к GitHub с помощью Curl с помощью PHP и создать новую проблему.

Я могу подключиться к GitHub и получить доступ к странице «Новая проблема». Тем не менее, я не могу ПОСТАВИТЬ Название и Тело впоследствии. Поэтому я делаю все, но на последнем шаге (ПОСТАВКА ПРОБЛЕМЫ) я сталкиваюсь со следующей ошибкой.

«Что… Ваш браузер сделал что-то неожиданное. Пожалуйста, свяжитесь с нами, если проблема не устранена».

I не думаю, что есть проблема с куки

Кто-нибудь знает, что делать?

require 'simple_html_dom.php';  

define('USERNAME', 'username');      
define('PASSWORD', 'password');
define('LOGIN_FORM_URL', 'https://github.com/login');
define('LOGIN_ACTION_URL', 'https://github.com/session');   
define('ISSUES_FORM_URL', 'https://github.com/bdohyuga/olacakokadar/issues/new/choose');
define('ISSUES_ACTION_URL','https://github.com/bdohyuga/olacakokadar/issues' );

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/80.0.3987.149 Mobile Safari/537.36' );
//curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);


curl_setopt($ch, CURLOPT_URL,LOGIN_FORM_URL); 
$login = curl_exec($ch); // FORM ISTEGI

foreach(str_get_html($login)->find('input') as $element) {           
$postValues[$element->name] = $element->value;
}
$postValues['login'] = USERNAME;
$postValues['password'] = PASSWORD; 


curl_setopt($ch, CURLOPT_URL,LOGIN_ACTION_URL); 
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postValues);              
$login =  curl_exec($ch);   // GIRIS ISTEGI


curl_setopt($ch, CURLOPT_URL,ISSUES_FORM_URL);          
$login = curl_exec($ch); // NEW ISSUE
//echo $login;

foreach(str_get_html($login)->find('input') as $element) {           
$issuesValues[$element->name] = $element->value;            
}

$issuesValues['issue[title]'] = "TITLE SUCCESS";
$issuesValues['issue[body]'] = "body success";


curl_setopt($ch, CURLOPT_URL,ISSUES_ACTION_URL); 
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $issuesValues);                
$login =  curl_exec($ch); // ISSUES ISTEGI
echo $login;
...