簡體   English   中英

如何從Mac應用程序向Django服務器發送HTTP請求?

[英]How to send an HTTP request from a Mac app to a Django server?

我想發送一個HTTP請求,如:

"http://.../mydjangosite?var1=value1&var2=value2&var3=value3"

到我的Django服務器,並希望最后發送一個布爾值"1"如果value1,2,3等於我的數據庫中的值)和"0"如果不相等)的響應。

這是我第一次使用Django進行開發,因此如果有人給我提示,我將不勝感激。

對不起,英語不好,如果有人聽不懂我的問題,請隨時告訴我。

親切的問候。

編輯:

首先感謝您的快速回答!

您是對的,我太籠統了,我會更准確地解釋。 我正在做一個有一些Mac應用程序的項目。 我們希望創建一個“平台”,這些應用程序的客戶端將能夠從這些平台開發最新版本。 然后的目的是首先創建一個django服務器,我們將在其中存儲有關該軟件的版本信息。 然后,當軟件的用戶執行該軟件時,它將自動向服務器發送一個http請求,以便“檢查”是否存在新版本。 如果是,我們邀請他下載新版本,如果不是,則繼續。

從現在開始,我一直在django服務器上工作,我從django網站上的教程開始。 我創建了models.py示例:

class Version(models.Model):
    name = models.CharField(max_length = 200)
    description = models.TextField()
    id_version = models.IntegerField()
    date_version = models.DateTimeField('Version published')
    def was_published_today(self):
            return self.date_version.date() == datetime.date.today()
    def get_number_version(self):
            return "%d" % (self.id_version)
    def save(self):
            top = Version.objects.order_by('-id_version')[0]
            self.id_version = top.id_version + 1
            super(Version, self).save()

我這樣改變了urls.py:

urlpatterns = patterns('',
# Examples:

# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
url(r'^versionsupdate/version/$','versionsupdate.views.version'),

因此,我要從Mac應用程序中向服務器django發送HTTP請求,例如“ http://.../versionsupdate/version?version = 1 ...”,然后在服務器中捕獲請求,將“ =”之后的值與“ id_version”的值進行比較,然后返回一個布爾值(取決於它是否相等)。

我希望這很清楚,我不確定^^,請告訴我我從現在開始所做的事情是否好,我是django / python的新手,所以我要確保方向是正確的。

再次感謝你的幫助!

第一。 從Django方面,您需要特定的數據類型響應(render_to_response標頭)。 例如,它可以是json。

第二。 從客戶端的python腳本中,您可以使用urllib或urllib2獲取url。

import urllib
import urllib2

url = 'http://www.acme.com/users/details'
params = urllib.urlencode({
  'firstName': 'John',
  'lastName': 'Doe'
})
response = urllib2.urlopen(url, params).read()

然后,只需分析響應即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM