-
Notifications
You must be signed in to change notification settings - Fork 0
/
bing_proxy.php
65 lines (33 loc) · 1.32 KB
/
bing_proxy.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
/****
* PHP proxy for using the Bing Search API with AJAX
*/
$acctKey = 'YZc2xp3n4QcaO/VjRbFFRd0NXNBOUTZSZUaz5K+S+Hg';
$rootUri = 'https://api.datamarket.azure.com/Bing/Search';
// Get the query. Default to 'sushi'.
$query = ($_GET['q']) ? $_GET['q'] : 'sushi';
// Get the service operation. Default to Web.
$serviceOp = ($_GET['sop']) ? $_GET['sop'] : 'Web';
// Get the market. Default to en-us.
$market = ($_GET['market']) ? $_GET['market'] : 'en-us';
// Encode the query along with the single quotation marks that must surround it.
$query = urlencode("'$query'");
// Encode the market along with the single quotation marks that must surround it.
$market = urlencode("'$market'");
// Construct the full URL for the query.
$requestUri = "$rootUri/$serviceOp?\$format=json&Query=$query&Market=$market";
// Encode the credentials and create the stream context.
$auth = base64_encode("$acctKey:$acctKey");
$data = array(
'http' => array(
'request_fulluri' => true,
// ignore_errors can help debug – remove for production. This option added in PHP 5.2.10
'ignore_errors' => true,
'header' => "Authorization: Basic $auth")
);
$context = stream_context_create($data);
// Get the response from Bing.
$response = file_get_contents($requestUri, 0, $context);
// Send the response back to the browser.
echo $response;
?>