我想通过GET api请求从Ariba网站下载文件(* .txt和* .pdf),并且希望自动化整个下载过程。 最初,我将Postman用于测试目的,以文件内容的形式给出结果。 例如。 test.txt文件存在于远程站点上,在收到邮递员的GET请求后,我得到的结果是以文件内容的形式出现的,因此,如果在文件中写入了“ abc”,则我将从响应中得到“ abc” test.txt文件。
现在,如果我点击邮递员中的“发送并下载”按钮,它将为我提供下载文件“ test.txt”的选项。
我必须使此过程自动化以发送GET响应并在特定位置下载所需的文件。我正在尝试为此使用Curl脚本。
我已经编写了相应的Curl脚本并尝试执行它。 它以文件内容的形式给我答复。
class NewUserForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ("username", "email", "password1", "password2")
def save(self, commit=True):
user = super(NewUserForm, self).save(commit=False)
user.email = self.cleaned_data['email']
if commit:
user.save()
return user
我想编写一个curl脚本,它将在特定位置下载文件。 例如。在curl命令上方,从文件Test.txt提供内容(abc),而不是文件Test.txt作为输出
非常感谢您的帮助Curl Get Response
答案 0 :(得分:0)
最后我得到了问题的答案,我只需要从我的curl脚本中删除-X GET,最后添加-o即可下载文件名。 下面是最终代码:
curl 'https://openapi.ariba.com/api/approval/v1/prod/invoices/INVASINV6-902/attachments/bnMyMDE5LxxxxLzE1MjkyNDE4MQ==?realm=ProjectName' \
-H 'Accept: */*' \
-H 'Authorization: Bearer 77876887-xxxxx-42fb-b865-9cf8ff5c2b25' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Host: openapi.ariba.com' \
-H 'accept-encoding: gzip, deflate' \
-H 'apiKey: XXXXXXXXXXXXXXXX' \
-H 'cache-control: no-cache' \
-H 'Content-Type: application/octet-stream' \
-H "Content-Transfer-Encoding: Binary" \
-o "Test.txt"
以上代码为我提供了在特定位置下载的文件。 谢谢BlackPearl。