技術
Articles
讀取網頁資料並接收回應(GET)
承接上篇 讀取網頁資料並接收回應(POST) ,抓取網頁上的回傳資料,一般來說就是WebClient的概念,GET跟POST有一點點不一樣,請參考如下Code:
// 設定GET網址與表頭
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("https://localhost:44366/api/login/Test?token=abc");
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
// 接收回傳的資料
string responseStr = "";
using (System.Net.WebResponse response = request.GetResponse())
{
using (System.IO.StreamReader...
0
minutes
Newtonsoft.Json發生版本衝突問題
使用Visual Studio工具,出現莫名的Newtonsoft.Json版本衝突問題,很有可能在Nuget的更新中發生了問題,這個時候,可以將專案檔案 XXXX.csproj打開編輯,搜尋Newtonsoft.Json發現有兩個地方都有,參考的dll位置不相同,改成一樣就可以了,如下 :
..packagesNewtonsoft.Json.12.0.3libnet45Newtonsoft.Json.dll
0
minutes
讀取網頁資料並接收回應(POST)
有時候需要自動上網抓取資料並讀取內容,這個小功能還常見的,任何程式語言幾乎都有,以下是Asp.net的範例,C Sharp也適用。
// 定義POST Data
string parame = "token=abc";
byte postData = System.Text.Encoding.UTF8.GetBytes(parame);
// 設定表頭與內容
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("https://localhost:44366/api/test/FormCall");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Timeout = 30000;
request.ContentLength = postData.Length;
// 送出POST資料
using (System.IO.Stream...
0
minutes
撰寫ApiController取得POST的值始終為NULL
開發ApiController的時候用POST方法來傳值,似乎Api怎麼都抓不到POST過來的值,但實際真的有傳出去,這是怎麼一回事呢,先來看看ApiController自動產生的範例吧。
// POST api/<controller>
public void Post(string value)
...
0
minutes
JWT學習筆記Part1(產製Token)
跨伺服器交換資料,用JWT就對了,安全可靠。
認識JWT,請參考以下文章:
以 JSON Web Token 替代傳統 Token
有了基本的認識後,HS開頭的簽章方式是用secret(密語),把secret給其他伺服器就能驗證簽章,本案例使用asp.net,請參考以下Code(要用NuGet下載System.JdentityModel.Tokens.Jwt)。
// header
var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("db3OIsj+BXE9NZDy0t8W3TcNekrF+2d/1sFnWG4HnV8TZY30iTOdtVWJG8abWvB1GlOgJuQZdcF2Luqm/hccMw=="));
var signingCredentials...
1
minute
如何修改WordPress上傳檔案大小上限
在使用Synology NAS,安裝Wordpress套件後,會發現Wordpress只能上傳檔案大小上限: 32 MB,如下圖:
這是因為php.ini設定的關係,要改的參數如下:
upload_max_filesize = 1024M
post_max_size = 1024M
max_execution_time = 3600
max_input_time = 3600
另外有個參數也建議修改,增加記憶體的使用空間(當然要配合真正有多少實體記憶體可用):
memory_limit = 512M
這時候很習慣的看到Web Station中,有提供PHP設定功能,有UI介面當然要給他用一下,如下圖:
設定完成後當然就是重啟一下服務或NAS,結果會發現,怎麼還是32M,沒有改成功嗎?
應該是有某些Bug未被Fix,查一下Synology自己發佈的Release
有修正,但不知甚麼原因沒有套用上去,看來還是自己改php.ini把,用Putty進去找php.ini,會發現一大堆。
sudo find / -name php.ini
到底要改哪一個呀,難不成一個一個試嗎?太辛苦了,看來只能放大絕了,這時候去Wordpress目錄下新增一個php檔案,編寫以下code吧。
<?php
phpinfo();
?>
上段code主要是把設定值叫出來看看,會出現下方頁面:
重點來了,請看到上圖紅框處,那才是真正php.ini的位置。所以再次Putty進去後,用以下語法改參數吧。
sudo vi /volume1/@appstore/PHP7.2/misc/php-fpm.ini
改完後重啟服務或重開機,大功告成。
0
minutes