How to send the next cookies in get request? - php

I receive 503 error, but if i send it from inspect element its fine.
The code worked for me before, but in the last few hours the specific website added cf_clearance and I need to add it to the request as well
How do i send the both cookies?
$opts = array(
'http'=>array(
'method'=>"GET",
'proxy'=>"",
'header'=> "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0\r\n" .
"Cookie: cf_clearance=3de18fcd39d55ce82d9db-1529352303-31536000; PHPSESSID=oahfun4m7vi3edd71\r\n"
));
$context = stream_context_create($opts);
$url = "http://website.com";
$data = file_get_contents($url, false, $context);
echo $data;

There's a pretty good example in the documentation.
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
Add line breaks and concatenate. Your example right now should be resulting in a syntax error because you are not concatenating the two strings.

Related

(PHP) file_get_contents with a Authorization Header

How do I use file_get_contents to send a authorization header
I currently have file_get_contents get it with a user agent but I also would like to add a authorization header so I get a functional response instead of a 401 error
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15\r\n"
)
);
$context = stream_context_create($options);
$url = file_get_contents("http://websitethatneedsaauthorizationheader.com", false, $context);
I basically need to copy the authorization header from here:
and then use that on this website and not get a 401 error
this is what it is supposed to look like with the authorization header
After the \n of the User-Agent header, add the autorization header, like this:
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: SomeUser\r\nAuthorization: SomeKey"
)
);

How to get order via linnwork api with laravel php

I am trying to get the orders from Linnwork API. But I am not able to get anything. I am using laravel framework to do this task and here the error I am getting.
EDIT:
No it's not a duplicate question file_get_content is not the main issue for getting the result I can use curl but the problem is linnwork API format its also giving error like "token is wrong". and I have checked the linnwork API documentation to see what's the mandatory fields to pass but there is no luck.
public function getLinnworkOrders()
{
date_default_timezone_set('Europe/London');
$userId = Auth::id();
$tag = Tag::where('user_id', $userId)->where('market', 'Linnwork')->orderBy('created_at', 'desc')->first();
$url = 'https://eu1.linnworks.net/api/Orders/GetOpenOrders';
$token = $tag->token;
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=> "Content-Type: application/x-www-form-urlencoded",
"Accept: application/json",
"url: https://eu-ext.linnworks.net//api/Orders/GetOpenOrders HTTP/1.1",
"Host: eu-ext.linnworks.net",
"Connection: keep-alive",
"Origin: https://www.linnworks.net",
"Accept-Language: en",
"User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
"Referer: https://www.linnworks.net/",
"Accept-Encoding: gzip, deflate",
"Authorization: e2673790a8d866ae30968ea189add96a",
'content' => '',
'ignore_errors' => true
)
);
$count_json = file_get_contents($opts);
$count_json = json_decode($count_json);
print_r($count_json);die;
}
And its the error i am getting
"file_get_contents() expects parameter 1 to be a valid path, array given"

file_get_contents doesn't work with some links

I'm trying to take the content of a site by file_get_contents(), but it doesn't work. I already tried to follow these codes here, but it doesn't work.
This is the code I have:
$url = "https://www.cb01.uno/";
$options = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n" . // check function.stream-context-create on php.net
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n" // i.e. An iPad
)
);
$context = stream_context_create($options);
echo $file = file_get_contents($url, false, $context);
It returns nothing. I tried with other site like https://www.w3schools.com and it works, so the problem isn't the HTTPS
EDIT: I tried this solution HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable and now it display:
Not Found
The requested URL /cdn-cgi/l/chk_jschl was not found on this server.

file_get_content get the wrong web

I am learning to spider website contents with PHP-file_get_contents,but something is wrong.The web I want is "http://www.jandan.net".
But use file_get_content(),I get the contents from "http://i.jandan.net" (it's phone page, they are different pages). user_agent is also unusable.
<?php
ini_set("user_agent","Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100301 Ubuntu/9.10 (karmic) Firefox/3.6");
$url = 'http://www.jandan.net/';
/*
$opt = array( 'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: Mozilla/5.0\n"
)
);
$context = stream_context_create($opt);
*/
$content = file_get_contents($url);
echo var_dump($content);
?>
Your comma in $content = file_get_contents($url,); is causing the problem.
-------------------------------------------------------------------------^
From original posted code ---^
Keeping the comma will produce the following error message:
Parse error: syntax error, unexpected ')' in.....(folder path etc.)
Quick note: Using $url = 'http://i.jandan.net/'; worked also, got content displayed.
Try this:
<?php
ini_set("user_agent","Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2) Gecko/20100301 Ubuntu/9.10 (karmic) Firefox/3.6");
$url = 'http://www.jandan.net/';
/*
$opt = array( 'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: Mozilla/5.0\n"
)
);
$context = stream_context_create($opt);
*/
$content = file_get_contents($url);
echo var_dump($content);
// echo $content;
?>

how do I parse a mobile site with php file_get_content

Sorry if this is a duplicate question.
My target site redirects me to desktop site if the browser is not a mobile. I want to parse the mobile version of the site (http://mobile.mysite.com). I can't use Curl as my server is disabled for that.
what would be the useragent for mobile if it is possible at all ??!!
If you need to send custom headers like User-Agent with your file_get_contents request, the PHP answer to that are stream contexts:
$opts = array(
'http' => array(
'method' => "GET",
'header' => "Accept-language: en\r\n" .
"Cookie: foo=bar\r\n" .
"User-Agent: Foo Bar Baz\r\n"
)
);
$context = stream_context_create($opts);
file_get_contents($url, false, $context);
See stream_context_create and file_get_contents.
Pick a mobile User-Agent string and use it. They can easily be found from Google.
Here is some sample code that illustrates how to use them with file_get_contents():
<?php
// The first one I found on Google
$uaStr = 'Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91)';
// Create a stream context
// http://www.php.net/manual/en/context.http.php
$context = stream_context_create(array(
'http'=>array(
'user_agent' => $uaStr
)
));
// The URL
$url = "http://www.example.com/";
// Make the request
$result = file_get_contents($url, FALSE, $context);
try look this php libs:
PHP HttpClient
And if you want get mobile site, set the user agent to specific mobile browser
$userAgent = "NokiaC5-00/061.005 (SymbianOS/9.3; U; Series60/3.2 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 Safari/525 3gpp-gba";
setUserAgent($userAgent);
To change your user agent within php without curl you may try this:
<?php
ini_set('user_agent', 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7');
$data = file_get_contents("http://www.mobile.example.com");
?>
PS: Got user agent of the iphone 4 from here !

Categories