Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
tl_estate
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hujun
tl_estate
Commits
34ea68d9
Commit
34ea68d9
authored
Mar 01, 2018
by
hujun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add
parent
eed20dda
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
269 additions
and
0 deletions
+269
-0
CurlUtil.php
application/chat/utils/CurlUtil.php
+266
-0
edit.html
application/index/view/houses/edit.html
+0
-0
.gitignore
vendor/.gitignore
+3
-0
No files found.
application/chat/utils/CurlUtil.php
0 → 100644
View file @
34ea68d9
<?php
namespace
app\chat\utils
;
/**
* A basic CURL wrapper
*
* @author qianfunian <qianfunian@51jk.com>
**/
class
CurlUtil
{
/**
* The file to read and write cookies to for requests
*
* @var string
**/
public
$cookie_file
;
/**
* Determines whether or not requests should follow redirects
*
* @var boolean
**/
public
$follow_redirects
=
true
;
/**
* An associative array of headers to send along with requests
*
* @var array
**/
public
$headers
=
array
();
/**
* An associative array of CURLOPT options to send along with requests
*
* @var array
**/
public
$options
=
array
();
/**
* The referer header to send along with requests
*
* @var string
**/
public
$referer
;
/**
* The user agent to send along with requests
*
* @var string
**/
public
$user_agent
;
/**
* Stores an error string for the last request if one occurred
*
* @var string
* @access protected
**/
protected
$error
=
''
;
/**
* Stores resource handle for the current CURL request
*
* @var resource
* @access protected
**/
protected
$request
;
/**
* Initializes a Curl object
*
* Sets the $cookie_file to "curl_cookie.txt" in the current directory
* Also sets the $user_agent to $_SERVER['HTTP_USER_AGENT'] if it exists, 'Curl/PHP '.PHP_VERSION.' (http://github.com/shuber/curl)' otherwise
**/
function
__construct
()
{
$this
->
cookie_file
=
dirname
(
__FILE__
)
.
DIRECTORY_SEPARATOR
.
'curl_cookie.txt'
;
$this
->
user_agent
=
isset
(
$_SERVER
[
'HTTP_USER_AGENT'
])
?
$_SERVER
[
'HTTP_USER_AGENT'
]
:
'Curl/PHP '
.
PHP_VERSION
;
}
/**
* Makes an HTTP DELETE request to the specified $url with an optional array or string of $vars
*
* Returns a CurlResponse object if the request was successful, false otherwise
*
* @param string $url
* @param array|string $vars
* @return CurlResponse object
**/
function
delete
(
$url
,
$vars
=
array
())
{
return
$this
->
request
(
'DELETE'
,
$url
,
$vars
);
}
/**
* Returns the error string of the current request if one occurred
*
* @return string
**/
function
error
()
{
return
$this
->
error
;
}
/**
* Makes an HTTP GET request to the specified $url with an optional array or string of $vars
*
* Returns a CurlResponse object if the request was successful, false otherwise
*
* @param string $url
* @param array|string $vars
* @return CurlResponse
**/
function
get
(
$url
,
$vars
=
array
())
{
$vars
[
'platform_type'
]
=
130
;
if
(
!
empty
(
$vars
))
{
$url
.=
(
stripos
(
$url
,
'?'
)
!==
false
)
?
'&'
:
'?'
;
$url
.=
(
is_string
(
$vars
))
?
$vars
:
http_build_query
(
$vars
,
''
,
'&'
);
}
return
$this
->
request
(
'GET'
,
$url
);
}
/**
* Makes an HTTP HEAD request to the specified $url with an optional array or string of $vars
*
* Returns a CurlResponse object if the request was successful, false otherwise
*
* @param string $url
* @param array|string $vars
* @return CurlResponse
**/
function
head
(
$url
,
$vars
=
array
())
{
return
$this
->
request
(
'HEAD'
,
$url
,
$vars
);
}
/**
* Makes an HTTP POST request to the specified $url with an optional array or string of $vars
*
* @param string $url
* @param array|string $vars
* @return CurlResponse|boolean
**/
function
post
(
$url
,
$vars
=
array
())
{
if
(
!
is_string
(
$vars
))
{
$vars
[
'platform_type'
]
=
130
;
}
return
$this
->
request
(
'POST'
,
$url
,
$vars
);
}
/**
* Makes an HTTP PUT request to the specified $url with an optional array or string of $vars
*
* Returns a CurlResponse object if the request was successful, false otherwise
*
* @param string $url
* @param array|string $vars
* @return CurlResponse|boolean
**/
function
put
(
$url
,
$vars
=
array
())
{
return
$this
->
request
(
'PUT'
,
$url
,
$vars
);
}
/**
* Makes an HTTP request of the specified $method to a $url with an optional array or string of $vars
*
* Returns a CurlResponse object if the request was successful, false otherwise
*
* @param string $method
* @param string $url
* @param array|string $vars
* @return CurlResponse|boolean
**/
function
request
(
$method
,
$url
,
$vars
=
array
())
{
$this
->
error
=
''
;
$this
->
request
=
curl_init
();
if
(
is_array
(
$vars
))
$vars
=
http_build_query
(
$vars
,
''
,
'&'
);
$this
->
set_request_method
(
$method
);
$this
->
set_request_options
(
$url
,
$vars
);
$this
->
set_request_headers
();
$response
=
curl_exec
(
$this
->
request
);
if
(
$response
)
{
$response
=
new
CurlResponse
(
$response
);
}
else
{
$this
->
error
=
curl_errno
(
$this
->
request
)
.
' - '
.
curl_error
(
$this
->
request
);
}
curl_close
(
$this
->
request
);
return
$response
;
}
/**
* Formats and adds custom headers to the current request
*
* @return void
* @access protected
**/
protected
function
set_request_headers
()
{
$headers
=
array
();
foreach
(
$this
->
headers
as
$key
=>
$value
)
{
$headers
[]
=
$key
.
': '
.
$value
;
}
curl_setopt
(
$this
->
request
,
CURLOPT_HTTPHEADER
,
$headers
);
}
/**
* Set the associated CURL options for a request method
*
* @param string $method
* @return void
* @access protected
**/
protected
function
set_request_method
(
$method
)
{
switch
(
strtoupper
(
$method
))
{
case
'HEAD'
:
curl_setopt
(
$this
->
request
,
CURLOPT_NOBODY
,
true
);
break
;
case
'GET'
:
curl_setopt
(
$this
->
request
,
CURLOPT_HTTPGET
,
true
);
break
;
case
'POST'
:
curl_setopt
(
$this
->
request
,
CURLOPT_POST
,
true
);
break
;
default
:
curl_setopt
(
$this
->
request
,
CURLOPT_CUSTOMREQUEST
,
$method
);
}
}
/**
* Sets the CURLOPT options for the current request
*
* @param string $url
* @param string $vars
* @return void
* @access protected
**/
protected
function
set_request_options
(
$url
,
$vars
)
{
/* echo $url;
dump($vars);
dump($this->options);
echo $this->request;
exit;*/
curl_setopt
(
$this
->
request
,
CURLOPT_URL
,
$url
);
if
(
!
empty
(
$vars
))
curl_setopt
(
$this
->
request
,
CURLOPT_POSTFIELDS
,
$vars
);
# Set some default CURL options
curl_setopt
(
$this
->
request
,
CURLOPT_HEADER
,
true
);
curl_setopt
(
$this
->
request
,
CURLOPT_RETURNTRANSFER
,
true
);
curl_setopt
(
$this
->
request
,
CURLOPT_USERAGENT
,
$this
->
user_agent
);
if
(
$this
->
cookie_file
)
{
curl_setopt
(
$this
->
request
,
CURLOPT_COOKIEFILE
,
$this
->
cookie_file
);
curl_setopt
(
$this
->
request
,
CURLOPT_COOKIEJAR
,
$this
->
cookie_file
);
}
if
(
$this
->
follow_redirects
)
curl_setopt
(
$this
->
request
,
CURLOPT_FOLLOWLOCATION
,
true
);
if
(
$this
->
referer
)
curl_setopt
(
$this
->
request
,
CURLOPT_REFERER
,
$this
->
referer
);
# Set any custom CURL options
foreach
(
$this
->
options
as
$option
=>
$value
)
{
curl_setopt
(
$this
->
request
,
constant
(
'CURLOPT_'
.
str_replace
(
'CURLOPT_'
,
''
,
strtoupper
(
$option
))),
$value
);
}
}
}
\ No newline at end of file
application/index/view/houses/edit.html
0 → 100644
View file @
34ea68d9
This diff is collapsed.
Click to expand it.
vendor/.gitignore
0 → 100644
View file @
34ea68d9
*
!.gitignore
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment