# How to download a file from a webserver with HL7648

**URL:** <https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712>\
**Category:** Legacy HL Series\
**Created:** [August 27, 2021, 5:22pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712 "2021-08-27T17:22:16Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![roman.chak](https://avatars.discourse-cdn.com/v4/letter/r/d6d6ee/32.png) [@roman.chak](https://forum.sierrawireless.com/u/roman.chak)\
**Post date:** [August 27, 2021, 5:22pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/1 "2021-08-27T17:22:16Z")

</div>

Hi, I am trying to download a file from my webserver with a POST request, but the module becomes unresponsive. Can the following sequence of commands be used to get a file from a webserver?  
AT+KTCPCFG=1,0,[url.com](http://url.com),80  
AT+KTCPCNX=1  
AT+KTCPSND=1,SIZE

POST /test HTTP/1.1  
Host: foo.example  
Content-Type: application/x-www-form-urlencoded  
Content-Length: 27

var=filename.txt

\r\n\r\n  
+++

AT+KTCPRCV=1,500  
AT+KTCPCLOSE=1,1

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [August 27, 2021, 5:28pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/2 "2021-08-27T17:28:50Z")

</div>

You should use http GET operation, not POST

Have you tried +khttpget command?

---

<div class="post-metadata">

**Author:** ![roman.chak](https://avatars.discourse-cdn.com/v4/letter/r/d6d6ee/32.png) [@roman.chak](https://forum.sierrawireless.com/u/roman.chak)\
**Post date:** [August 27, 2021, 5:40pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/3 "2021-08-27T17:40:25Z")

</div>

No, I didn’t. Is there an example on file download that I can follow?  
Thank you

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [August 27, 2021, 6:07pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/4 "2021-08-27T18:07:49Z")

</div>

AT+KHTTPCFG=1,“[www.google.com](http://www.google.com)”,80,1  
at+khttpget=1,"/index.html",1

---

<div class="post-metadata">

**Author:** ![roman.chak](https://avatars.discourse-cdn.com/v4/letter/r/d6d6ee/32.png) [@roman.chak](https://forum.sierrawireless.com/u/roman.chak)\
**Post date:** [August 27, 2021, 6:19pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/5 "2021-08-27T18:19:58Z")

</div>

Hi, thank you for your response. Do you have the same example with a POST request. My web application will send a file in response to a POST request.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [August 27, 2021, 6:49pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/6 "2021-08-27T18:49:31Z")

</div>

AT+KHTTPHEADER=1  
CONNECT  
Accept : text/html  
Context-Length: 64  
OK  
AT+KHTTPPOST=1, “/get.cgi”  
CONNECT  
(…Data send…)  
HTTP/1.0 200 OK  
Content-Type: text/plain  
Context-Length: 37  
Your data have been accepted.

OK

---

<div class="post-metadata">

**Author:** ![roman.chak](https://avatars.discourse-cdn.com/v4/letter/r/d6d6ee/32.png) [@roman.chak](https://forum.sierrawireless.com/u/roman.chak)\
**Post date:** [August 28, 2021, 6:47pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/7 "2021-08-28T18:47:40Z")

</div>

Hi,  
Thank you for your help again. I send the following commands to the modem:

Sent commnd: ‘AT+KHTTPCFG=1,“[web.pythonanywhere.com](http://web.pythonanywhere.com)”,80,1\r’  
Rspnse: ‘AT+KHTTPCFG=1,“[web.pythonanywhere.com](http://web.pythonanywhere.com)”,80,1\r\r\n’  
Rspnse: ‘+KHTTPCFG: 1\r\n’  
Rspnse: ‘OK\r\n’  
Sent commnd: ‘AT+KHTTPHEADER=1\r’  
Rspnse: ‘+KCNX\_IND: 1,4,1\r\n’  
Rspnse: ‘+KCNX\_IND: 1,1,0\r\n’  
Rspnse: ‘+KHTTP\_IND: 1,1\r\n’  
Rspnse: ‘AT+KHTTPHEADER=1\r\r\n’  
Rspnse: ‘CONNECT\r\n’

Content-Type: application/x-www-form-urlencoded"  
Context-Length: ContentLength

+++

I get no response from the modem after that. Can you help me with the issue?

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [August 28, 2021, 9:26pm UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/8 "2021-08-28T21:26:54Z")

</div>

You mean it stuck in data mode?

Did you send --EOF–Pattern-- to indicate it is end of data pattern?

Btw, why did you send content length for twice?

---

<div class="post-metadata">

**Author:** ![roman.chak](https://avatars.discourse-cdn.com/v4/letter/r/d6d6ee/32.png) [@roman.chak](https://forum.sierrawireless.com/u/roman.chak)\
**Post date:** [August 29, 2021, 3:36am UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/9 "2021-08-29T03:36:50Z")

</div>

Hi,  
Yes, I don’t get an “OK” from the modem.  
Do I need to send “–EOF–Pattern–” as a literal string or a “+++” string to indicate EOF?  
ContentLength is a variable that holds a numeric value (22 for example)

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [August 29, 2021, 9:48am UTC](https://forum.sierrawireless.com/t/how-to-download-a-file-from-a-webserver-with-hl7648/24712/10 "2021-08-29T09:48:33Z")

</div>

You need to send --EOF–Pattern–
