Home >Backend Development >PHP Tutorial >Introduction to ideas for implementing api interface in php_PHP tutorial

Introduction to ideas for implementing api interface in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:50:32802browse

APIs are very popular now, but the methods of various APIs are different. Below I have compiled some of my own ideas, which are also what I came up with after reading the API applications opened by major portal websites. I would like to share them with you. Experts will skip it.

API (Application Programming Interface, Application Programming Interface) is very common in WEB applications. For example, those who develop Weibo applications have Weibo API, and those who do Taobao have Taobao API. Different APIs have different interface methods. Generally, APIs are There is a URL access address through which the user's custom data can be obtained, but this is not public. For example, the data can only be accessed correctly after being authenticated.
To use Sina Weibo API to post a WeChat post, you need to provide username and password authentication before you can post a WeChat post correctly. To sum up, there are mainly the following API interface authentication ideas:

1. Use HTTP Basic Authentication

When you access a URL that requires HTTP Basic Authentication, if you do not provide a username and password, the server will return 401. If you open it directly in the browser, the browser will prompt you to enter the username and password (google Browser doesn't, bug? ). You can try clicking this URL to see the effect: http://api.minicloud.com.cn/statuses/friends_timeline.xml

To add HTTP Basic Authentication authentication information to the request when sending the request, there are two methods:

One is to add Authorization in the request header:

The code is as follows
 代码如下 复制代码
Authorization: “Basic 用户名和密码的base64加密字符串”
Copy code

Authorization: "Basic base64 encryption of username and password String”

 代码如下 复制代码
$fp = fsockopen("www.mydomain.com",80);
fputs($fp,"GET /downloads HTTP/1.0");
fputs($fp,"Host: www.mydomain.com");
fputs($fp,"Authorization: Basic " . base64_encode("user:pass") . "");
fpassthru($fp);
The second is to add the username and password in the url:

http://userName:password@api.minicloud.com.cn/statuses/friends_timeline.xml

Download address: http://code.google.com/p/oauth2-php/downloads/list
The code is as follows
Copy code

$fp = fsockopen("www.mydomain. com",80); fputs($fp,"GET /downloads HTTP/1.0");

fputs($fp,"Host: www.mydomain.com"); fputs($fp,"Authorization: Basic " . base64_encode("user:pass") . ""); fpassthru($fp);

2. Use Oauth authentication

The OAUTH protocol provides a secure, open and simple standard for user resource authorization. The difference from previous authorization methods is that OAUTH authorization will not allow third parties to access the user's account information (such as user name and password), that is, a third party can apply to obtain the user's resources without using the user's user name and password. Authorization, so OAUTH is secure.

3. Use SOAP

For application development, it is important to enable Internet communication between programs. Current applications communicate between objects such as DCOM and CORBA by using remote procedure calls (RPC), but HTTP was not designed for this. RPC creates compatibility and security issues; firewalls and proxy servers often block this type of traffic. Communicating between applications via HTTP is a better method because HTTP is supported by all Internet browsers and servers. SOAP was created to accomplish this task. SOAP provides a standard way for applications running on different operating systems and using different technologies and programming languages ​​to communicate with each other.
http://www.bkjia.com/PHPjc/632624.html
www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/632624.htmlTechArticleAPI is very popular now, but the methods of various APIs are different. Below I have compiled some of my own ideas, too After reading the open API applications of major portal websites, I thought of sharing with everyone, high...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn