各位好 我目前正在嘗試使用POST上傳隨便字串到公開API伺服器 使用以下
公開API網址
此圖裡面的應該是別人也在測試隨便丟上來的值,我也是想要亂丟個值上來做測試
然後出現標頭錯誤的響應
附上官方提供的請求標頭
目前程式寫法
import requests
import json
headers = {
'Accept-Charset': 'utf-8',
'Accept': 'application/fhir+xml;q=1.0, application/fhir+json;q=1.0, application/xml+fhir;q=0.9, application/json+fhir;q=0.9',
'User-Agent': 'HAPI-FHIR/4.0.3 (FHIR Client; FHIR 4.0.0/R4; apache)',
'Accept-Encoding': 'gzip'
}
password = 'A123456789'
account = '王明'
postdata = {"username":account, "password":password}
r = requests.post(url='https://hapi.fhir.tw/fhir/Person?_include=Person%3Alink&_pretty=true', data=postdata , headers=headers)
print(r.text)
response = json.loads(r.text)
print('請求狀態',r.status_code)
懇請指教
阿他不是說這是 GET
嗎
我沒看到他說可以用 POST
code
import requests
import json
r = requests.get(url='https://hapi.fhir.tw/fhir/Person?_include=Person%3Alink&_pretty=true')
print(r.text)
response = json.loads(r.text)
print('請求狀態',r.status_code)
有支援post
你貼的那個不是再說這個呀
import requests
import json
postdata = {
"username": '王明',
"password": 'A123456789',
"resourceType": "Person"
}
r = requests.post(url = 'https://hapi.fhir.tw/fhir/Person', data = json.dumps(postdata))
print(r.text)
response = json.loads(r.text)
print('請求狀態',r.status_code)
這樣就可以了
感謝 前輩指導 剩下我慢慢研究
我有一個疑問就是 為什麼我identifier 內容 那段沒出現
範本
identifier username password
import requests
import json
postdata = {
"resourceType": "Person",
"identifier": [{'username': 'B0509020', 'password': 'A123456789'}]
}
r = requests.post(url = 'https://hapi.fhir.tw/fhir/Person', data = json.dumps(postdata))
print(r.text)
response = json.loads(r.text)
print('狀態',r.status_code)
這樣
code
import requests
import json
postdata = {
"resourceType": "Person",
"identifier": [
{
'type': {
'text': 'username'
},
'value': 'dragonH'
},
{
'type': {
'text': 'password'
},
'value': 'test'
},
]
}
r = requests.post(url = 'https://hapi.fhir.tw/fhir/Person', data = json.dumps(postdata))
print(r.text)
response = json.loads(r.text)
print('狀態',r.status_code)
好了,謝謝前輩,受益良多