.NET WinForms-Anwendung (Core, Modules/CongressTrading, UI). Enthaelt .gitignore und settings.example.json als Konfigurationsvorlage. Echte settings.json mit Zugangsdaten ist bewusst ausgeschlossen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
59 lines
1.7 KiB
PowerShell
59 lines
1.7 KiB
PowerShell
$content = Get-Content 'j:\Softwareprojekte\IBKRTrader\IBKRTrader\ct_raw.html' -Raw
|
|
|
|
# Simuliere UnescapeHtmlPayload
|
|
$marker = 'self.__next_f.push([1,"'
|
|
$searchFrom = 0
|
|
$allPayload = ""
|
|
|
|
while ($true) {
|
|
$idx = $content.IndexOf($marker, $searchFrom)
|
|
if ($idx -lt 0) { break }
|
|
|
|
$contentStart = $idx + $marker.Length
|
|
|
|
# Finde Ende des Strings (nicht-escaped ")
|
|
$end = -1
|
|
$i = $contentStart
|
|
while ($i -lt $content.Length) {
|
|
if ($content[$i] -eq '\' ) { $i += 2; continue }
|
|
if ($content[$i] -eq '"' ) { $end = $i; break }
|
|
$i++
|
|
}
|
|
|
|
if ($end -lt 0) { break }
|
|
|
|
$chunk = $content.Substring($contentStart, $end - $contentStart)
|
|
# Un-escape \" → "
|
|
$chunk = $chunk -replace '\\"', '"'
|
|
$chunk = $chunk -replace '\\/', '/'
|
|
$allPayload += $chunk
|
|
$searchFrom = $end + 2
|
|
}
|
|
|
|
Write-Host "Payload length: $($allPayload.Length)"
|
|
|
|
# Finde "data":[
|
|
$dataIdx = $allPayload.IndexOf('"data":[')
|
|
Write-Host "data array at: $dataIdx"
|
|
|
|
if ($dataIdx -gt 0) {
|
|
Write-Host "=== data array preview (first 500 chars) ==="
|
|
$start = $dataIdx
|
|
$len = [Math]::Min(500, $allPayload.Length - $start)
|
|
Write-Host $allPayload.Substring($start, $len)
|
|
|
|
# totalPages
|
|
$tpMatch = [regex]::Match($allPayload, '"totalPages"\s*:\s*(\d+)')
|
|
if ($tpMatch.Success) {
|
|
Write-Host ""
|
|
Write-Host "=== totalPages: $($tpMatch.Groups[1].Value) ==="
|
|
}
|
|
|
|
# _txId Anzahl zählen
|
|
$txCount = ([regex]::Matches($allPayload, '"_txId"')).Count
|
|
Write-Host "=== _txId Vorkommen: $txCount ==="
|
|
} else {
|
|
Write-Host "=== KEIN data Array - zeige erste 1000 chars des Payload ==="
|
|
Write-Host $allPayload.Substring(0, [Math]::Min(1000, $allPayload.Length))
|
|
}
|