当前位置: 首页 > 面试题库 >

如何使用Python接收Github Webhooks

劳研
2023-03-14
问题内容

当回购活动时,Github会提供将后接收挂钩发送到您选择的URL的功能。我想编写一个 小型的
Python命令行/后台应用程序(即没有GUI或webapp)在我的计算机(后来是NAS)上运行,该应用程序不断 侦听
那些传入的POST请求,一旦从Github 接收 到POST
,它处理其中包含的JSON信息。只要有我就立即处理json没问题。POST可以来自github提供的少量IP;我计划/希望在计算机上指定一个应该发送端口。

问题是,我对网络技术了解不足,无法处理您在搜索时发现的大量选项。我是否使用Django,Requests,sockets,Flask,microframeworks
…?我不知道所涉及的大多数术语是什么意思,而且听起来好像它们提供的太多/太大而无法解决我的问题-我简直不知所措,也不知道从哪里开始。

我能找到的大多数有关POST / GET的教程似乎都与从网站发送或直接请求数据有关,但与持续监听无关。

我觉得这个问题并不是很困难,一旦我知道要去哪里/如何去做,就会归结为几行。有人可以提供指针/教程/示例/示例代码吗?


问题答案:

这是一个基本的web.py示例,用于通过POST接收数据并对其进行处理(在这种情况下,只需将其打印到stdout):

import web

urls = ('/.*', 'hooks')

app = web.application(urls, globals())

class hooks:
    def POST(self):
        data = web.data()
        print
        print 'DATA RECEIVED:'
        print data
        print
        return 'OK'

if __name__ == '__main__':
    app.run()

我使用hurl.it向其中发布了一些数据(在路由器上转发8080之后),并看到以下输出:

$ python hooks.py 
http://0.0.0.0:8080/

DATA RECEIVED: 
test=thisisatest&test2=25

50.19.170.198:33407 - - [27/Jan/2013 10:18:37] "HTTP/1.1 POST /hooks" - 200 OK

您应该能够将打印语句换出以进行JSON处理。

要指定端口号,请使用附加参数调用脚本:

$ python hooks.py 1234


 类似资料:
  • 本文向大家介绍fetch 使用及如何接收JS传值,包括了fetch 使用及如何接收JS传值的使用技巧和注意事项,需要的朋友参考一下 使用fetch基本方式: 方式一:增加headers 定义 在headers头部定义如下: 同时body传值使用如下方式: 在php中使用如下接收 方式二:改变php中接受方式 接受方式如下: 返回字符串对象,使用值需要做如下处理: 此时便可以如下接收传值: 总结 以

  • 我在使用时遇到了困难,无法从开头或其他任何显式偏移量读取它。 为同一主题的使用者运行命令行工具,我确实看到带有选项的消息,否则它将挂起 我使用的是kafka-python 0.9.5,而代理运行的是Kafka8.2。不确定确切的问题是什么。 按照dpkp的建议设置_group_id=none_以模拟控制台使用者的行为。

  • 问题内容: 有人可以帮助我使用Python中的AT命令发送和接收SMS吗? 万一重要,我正在使用Fedora 8。 哪款手机搭配Linux(诺基亚,索尼爱立信,三星等)会更好?所有电话都支持使用AT命令发送和接收SMS吗? 问题答案: 以下是一些示例代码,可以帮助您入门(在Python 3000中): 您还需要做两件事: 用适当的格式编码消息(主要是GSM 03.38,unicode.org上有一

  • 如何使用C或C和net snmp模块接收陷阱。我需要示例代码,但示例位于http://www.net-snmp.org/使用系统调用,但不要使用API方法。

  • 我想使用广播接收器在固定时间调用此方法的警报 } 删除所有消息,但没有发生,请提前帮我谢谢 /***删除所有消息。0-成功删除。1-没有要*删除的内容。*/ 我正在使用这个广播接收器 正如你所说我做了我创建了一个活动 公共类Active扩展PendingMessages实现Runnable{ } 然后打电话过去 context.start服务(新意图(上下文,Activity.class)); 但

  • [信息][06/03/2014 01:35:25.290][twitter-akka.actor.default-dispatcher-4][Akka://twitter/user/$A/$H/$A]从演员[Akka://twitter/user/$A/$H#11 902 56968]到演员[Akka://twitter/user/$A/$H/$A#-1918790382]的消息[twitterP