Python如何写get接口或者post接口,提供给别人调用

Posted 写python的鑫哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python如何写get接口或者post接口,提供给别人调用相关的知识,希望对你有一定的参考价值。

前言

本文是该专栏的第6篇,后面会持续分享python的各种干货知识,值得关注。

在工作上,偶尔会需要使用python给其他人写一个get接口或者post接口,让别人进行调用。

那么,对于python写接口,需要使用哪个方法呢?有同学可能已经猜到了,使用flask,确实使用flask写接口非常方便。

对于熟悉的同学来说,flask并不陌生。它是一个轻量级的可定制框架,使用python语言编写,较其他同类型框架更为灵活,轻便,安全且容易上手。值得一提的是,flask有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。

那么,用flask如何写get接口?用flask写post接口,又要注意哪些呢?

下面,跟着笔者直接往下深入探索。

正文

1.python写get接口

假设现在有一张数据表(笔者这里是假设一个场景,工作或业务上具体视情况而定),数据表如下:

如何利用JAVA写一个简单的get或者post的接口?

如何利用JAVA写一个简单的get或者post的接口?

参考技术A WebService很简单,无论你想发布服务还是调取别人的服务。 参考技术B java中的servlet 参考技术C import java.io.IOException;

import javax.servlet.*;
import javax.servlet.http.*;

public class JavaServletSample extends HttpServlet 

    public void doGet(HttpServletRequest request, 
                      HttpServletResponse response) throws ServletException, IOException 
        // TODO       
    

    public void doPost(HttpServletRequest request, 
                       HttpServletResponse response) throws ServletException, IOException 
        // TODO       
    


最简单的一种。

本回答被提问者采纳
参考技术D package com.huaye.network.util;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;

public class HttpUtil
/**
* http������ݣ�Ĭ�Ϸ��ص����ΪUTF-8����
*
* @param url
* url��ַ
* @param method
* �ύ��ʽ
* @return
* @throws IOException
*/
public static String getUrl(String url) throws IOException

try

HttpGet request = new HttpGet(url);
HttpClient httpClient = new DefaultHttpClient();

httpClient.getParams().setParameter(
CoreConnectionPNames.CONNECTION_TIMEOUT, 20000); // ��������ʱʱ��
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 20000); // ��ȡ��ʱ

HttpResponse response = httpClient.execute(request);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
String result = EntityUtils.toString(response.getEntity(), "utf-8");
//httpClient.getConnectionManager().releaseConnection(conn, validDuration, timeUnit)
return result;
else
return "kong";

catch (Exception e)
// TODO: handle exception
System.out.println(e);
e.printStackTrace();
return "kong";




/**
* post�ύ��￿
*
* @param url
* �ύ��ַ
* @param params
* ����
* @return
* @throws ClientProtocolException
* @throws IOException
*/
public static String postUrl(String url, Map<String, String> params)
throws ClientProtocolException, IOException
return postUrl(url, params, "UTF-8");


/**
* post�ύ��￿
*
* @param url
* �ύ��ַ
* @param params
* ����
* @param encoding
* ������￿
* @return
* @throws ClientProtocolException
* @throws IOException
*/
public static String postUrl(String url, Map<String, String> params,
String encoding) throws ClientProtocolException, IOException
List<NameValuePair> param = new ArrayList<NameValuePair>(); // ����
// param.add(new BasicNameValuePair("par", "request-post"));
// //��������Ҳ�֪���Dz��Ƿ�Ҫ�����

// ��Ӳ��￿
Iterator<Entry<String, String>> iterator = params.entrySet().iterator();
while (iterator.hasNext())
Entry<String, String> entry = iterator.next();

param.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));


HttpPost request = new HttpPost(url);
HttpEntity entity = new UrlEncodedFormEntity(param, encoding);
request.setEntity(entity);

HttpClient client = new DefaultHttpClient();
client.getParams().setParameter(
CoreConnectionPNames.CONNECTION_TIMEOUT, 5000); // ��������ʱʱ��
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 5000); // ��ȡ��ʱ

HttpResponse response = client.execute(request);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
return EntityUtils.toString(response.getEntity(), "utf-8");
else
return "null";


第5个回答  2014-08-08 你是想调用别人接口,还是接口被人调用 ?追问

被别人调用

追答

很简单啊,比如直接写个servlet就行,接收参数可以是json什么的,返回json也行!访问地址就是你的项目地址+配置的servlet名称+参数。

以上是关于Python如何写get接口或者post接口,提供给别人调用的主要内容,如果未能解决你的问题,请参考以下文章

怎么写api接口

[python]django rest framework写POST和GET接口

接口post请求循环体的脚本怎么写?

python-接口编写-get和post,真假接口

python3接口测试某个模块的很多接口有的用post有的用get

python接口自动化-requests库优化重构requests方法