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接口,提供给别人调用的主要内容,如果未能解决你的问题,请参考以下文章
[python]django rest framework写POST和GET接口